我不确定为什么这对我不起作用,但我想让rails_admin范围内的每个模型的配置成为我包含在模型中的mixin。这给了我一个关注点分离的好处,同时避免每次我进行更改时都必须重新启动服务器,这只是使用rails_admin.rb文件的问题。
所以我有一个模型,app / models / section.rb
class Section
include SectionAdmin
在models / section_admin.rb中(我把它放在这里以便在将其移入lib之前使其工作)我有:
module SectionAdmin
rails_admin do
...
但我收到错误:
undefined method `rails_admin' for main:Object
这对我来说很困惑,因为作为mixin,我认为直到它被包括在内才进行评估。它也令人困惑,因为即使我在模块中包含'require“rails_admin”',我仍然会收到错误。有任何想法吗?
答案 0 :(得分:0)
这适用于rails 4.0.0
# models/admin/user.rb
module Admin
module User
::User.rails_admin do
list do
field :name
field :email
end
end
end
end
答案 1 :(得分:0)
我发现这是在Rails 4中处理这个问题最干净的方法
我的关注:
# models/concerns/rails_admin_posts.rb
module RailsAdminPosts
extend ActiveSupport::Concern
included do
rails_admin do
...
end
end
end
我的模特:
# models/post.rb
class Post < ActiveRecord::Base
include RailsAdminPosts
...
end