【问题标题】:rails-settings is not working with rails_admin while deleting a user删除用户时,rails-settings 无法与 rails_admin 一起使用
【发布时间】:2019-12-05 06:45:13
【问题描述】:

问题已在 git here 上创建,当我们删除用户时,我们会在此处收到错误日志

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

有人可以帮助我使用带有 ledermann-rails-settings (2.4.3) 和 rails_admin (1.4.2) 的 rails 5.1.6。

【问题讨论】:

    标签: rubygems ruby-on-rails-5 rails-admin


    【解决方案1】:

    我通过添加以下内容覆盖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>
    

    【讨论】:

      猜你喜欢
      • 2016-08-18
      • 2016-05-04
      • 1970-01-01
      • 1970-01-01
      • 2013-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多