Я столкнулся с этой проблемой раз и, в моем случае, я нашел, что это произойдет, потому что Rails администратора попробовать показать связь. Это заблуждается по пути.
Я решить эту проблему путем переопределения rails_admin показать удалить вид просто создать views/rais_admin/main/_delete_notice.html.haml
и положить
- object = delete_notice
%li{style: 'display:block; margin-top:10px'}
%span.label.label-default= @abstract_model.pretty_name
- wording = object.send(@model_config.object_label_method)
- if show_action = action(:show, @abstract_model, object)
= link_to(wording, url_for(action: show_action.action_name, model_name: @abstract_model.to_param, id: object.id), class: 'pjax')
- else
= wording
%ul
- @abstract_model.each_associated_children(object) do |association, child|
-#- unless child.kind_of?(String) || child.kind_of?(ActsAsTaggableOn::Tagging)
- if child.kind_of?(ActiveRecord::Base)
%li
- child_config = RailsAdmin.config(child)
= @abstract_model.model.human_attribute_name association.name
- wording = child.send(child_config.object_label_method)
- if child.id && (show_action = action(:show, child_config.abstract_model, child))
= link_to(wording, url_for(action: show_action.action_name, model_name: child_config.abstract_model.to_param, id: child.id), class: 'pjax')
- else
= wording
линия - if child.kind_of?(ActiveRecord::Base)
предотвращению дальнейшей проверка на модели атрибуты, которые вызывают undefined method model for nil:NilClass
в журнале ошибки
Вы определили действие уничтожить или удалить в своем cancan? – Minato
Я этого не делал, но я позволил администратору управлять всем, что так: 'can: manage,: all' – harinsa