删除用户时,Rails-Settings 无法使用rails_admin



当我们删除用户时,已经在git上创建了问题,我们收到错误 这里是日志

Started GET "/admin/user/552/delete?_pjax=%5Bdata-pjax-container%5D" for 127.0.0.1 at 2019-12-05 11:41:14 +0500
Processing by RailsAdmin::MainController#delete as HTML
Parameters: {"_pjax"=>"[data-pjax-container]", "model_name"=>"user", "id"=>"552"}
Rendering /home/asnad/.rvm/gems/ruby-2.5.0/gems/rails_admin-1.4.2/app/views/rails_admin/main/delete.html.haml within layouts/rails_admin/pjax
Rendered /home/asnad/.rvm/gems/ruby-2.5.0/gems/rails_admin-1.4.2/app/views/rails_admin/main/_delete_notice.html.haml (30.4ms)
Rendered /home/asnad/.rvm/gems/ruby-2.5.0/gems/rails_admin-1.4.2/app/views/rails_admin/main/delete.html.haml within layouts/rails_admin/pjax (41.2ms)
Completed 500 Internal Server Error in 1231ms (ActiveRecord: 14.8ms)

NoMethodError - undefined method `constantize' for nil:NilClass:
Started GET "/admin/user/552/delete" for 127.0.0.1 at 2019-12-05 11:41:15 +0500
Processing by RailsAdmin::MainController#delete as HTML
Parameters: {"model_name"=>"user", "id"=>"552"}
Rendering /home/asnad/.rvm/gems/ruby-2.5.0/gems/rails_admin-1.4.2/app/views/rails_admin/main/delete.html.haml within layouts/rails_admin/application
Rendered /home/asnad/.rvm/gems/ruby-2.5.0/gems/rails_admin-1.4.2/app/views/rails_admin/main/_delete_notice.html.haml (12.0ms)
Rendered /home/asnad/.rvm/gems/ruby-2.5.0/gems/rails_admin-1.4.2/app/views/rails_admin/main/delete.html.haml within layouts/rails_admin/application (23.1ms)
Completed 500 Internal Server Error in 54ms (ActiveRecord: 2.5ms)

NoMethodError - undefined method `constantize' for nil:NilClass:
Started POST "/admin/__better_errors/3d8aba23abc57848/variables" for 127.0.0.1 at 2019-12-05 11:41:16 +0500

当我从我的用户模型中删除以下这些行时,它工作正常。

has_settings do |s|
s.key :production_overview_report_mailer, defaults: { enabled: false }
end

有人可以帮助我使用带有莱德曼轨道设置 (2.4.3( 和 rails_admin (1.4.2( 的 rails 5.1.6 吗?

我通过放置以下内容来覆盖app/views/rails_admin/main/_delete_notice.html.erb来修复它。

<% object = delete_notice %>
<li style="display:block; margin-top:10px">
<span class="label label-default">
<%= @abstract_model.pretty_name %>
</span>
<% 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 %>
<% end %>
<ul>
<% @abstract_model.each_associated_children(object) do |association, children| %>
<% humanized_association = @abstract_model.model.human_attribute_name association.name %>
<% limit = children.count > 12 ? 10 : children.count %>
<% children.first(limit).each do |child| %>
<%= content_tag :li, class: dom_class(child) do %>
<% if child.class.name != "RailsSettings::SettingObject" %>
<% child_config = RailsAdmin.config(child) %>
<%= humanized_association.singularize %>
<% 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 %>
<% end %>
<% end %>
<% end %>
<% end %>
<% if children.count > limit %>
<li>
<%= t('admin.misc.more', count: children.count - limit, models_name: humanized_association) %>
</li>
<% end %>
<% end %>
</ul>
</li>

最新更新