我有一个ActiveAdmin索引页面
ActiveAdmin.register Bill
Run Code Online (Sandbox Code Playgroud)
我正在尝试显示相关模型的链接
index do
column "User" do |bill|
link_to bill.user.name, admin_user_path(bill.user)
end
end
Run Code Online (Sandbox Code Playgroud)
但我遇到了N + 1查询问题 - 有一个查询来获取每个用户.
有没有办法急于加载账单的用户?
我有一个为许多数据中心组成的基础结构对象.在apps/admin/infrastructures.rb中,我有以下代码:
form do |f|
f.inputs "Infrastructure details" do
f.input :name
f.has_many :datacenters do |datacenter_form|
datacenter_form.input :name
end
end
f.buttons
end
Run Code Online (Sandbox Code Playgroud)
我可以添加没有问题的数据中心,但我不知道如何从基础架构表单中删除它.
问题
我正在尝试在ActiveAdmin中自定义默认登录页面,但我无法完成自定义.
我试过的
这个RailsCasts剧集的评论者建议将此文件复制到该文件app/views/active_admin/devise/sessions/new.html.erb并从那里进行自定义.但是,这样做似乎并没有取代默认的登录表单.
我也试过更换devise_for :admin_users, ActiveAdmin::Devise.config与devise_for :admin_users作为评论者指出,这似乎路由指向正确的地方,但我得到在这种情况下被认可了一堆有关没有ActiveAdmin变量的服务器错误.
我搜索过文档,但是我找不到特别是自定义登录表单的文档.
题
在ActiveAdmin中自定义登录表单的最佳方法是什么?
forms authentication ruby-on-rails ruby-on-rails-3 activeadmin
我们使用active_admin作为管理后端.
我们有一个模型"App":belongs_to model"Publisher":
class App < ActiveRecord::Base
belongs_to :publisher
end
class Publisher < ActiveRecord::Base
has_many :apps
end
Run Code Online (Sandbox Code Playgroud)
为"App"模型创建新条目时,我希望可以选择现有发布者或(如果尚未创建发布者)以相同(嵌套)形式创建新发布者(或者至少没有离开页面).
有没有办法在active_admin中执行此操作?
这是我们到目前为止(在admin/app.rb中):
form :html => { :enctype => "multipart/form-data" } do |f|
f.inputs do
f.input :title
...
end
f.inputs do
f.semantic_fields_for :publisher do |p| # this is for has_many assocs, right?
p.input :name
end
end
f.buttons
end
Run Code Online (Sandbox Code Playgroud)
经过几个小时的搜索,我会感激任何暗示......谢谢!
我有模型Home和Photo,它们有一个has_many - belongs_to关系(多态关系,但我不认为在这种情况下很重要).我现在正在设置主动管理员,我希望管理员能够从家庭表单添加照片到家庭.
照片由CarrierWave宝石管理,我不知道是否会使问题更容易或更难.
如何在Active Admin Home表单中包含不同模型的表单字段?有这样的经历吗?
class Home < ActiveRecord::Base
validates :name, :presence => true,
:length => { :maximum => 100 }
validates :description, :presence => true
has_many :photos, :as => :photographable
end
class Photo < ActiveRecord::Base
belongs_to :photographable, :polymorphic => true
mount_uploader :image, ImageUploader
end
Run Code Online (Sandbox Code Playgroud) 我希望只有属性is_admin设置为true的用户才能访问我的活动管理员后端
我该怎么做?
"普通"用户应该只能登录该站点,而不能登录到活动管理员.
我的应用程序似乎突然出现了路由错误 uninitialized constant DashboardController
我正在使用ActiveAdmin(0.6.0)运行Rails 3.2.0,直到今天一切似乎都运行正常.
日志报告在尝试运行localhost:3000时发生以下错误:
Started GET "/" for 127.0.0.1 at 2013-04-04 18:59:21 +0100
ActionController::RoutingError (uninitialized constant DashboardController):
activesupport (3.2.0) lib/active_support/inflector/methods.rb:226:in `block in constantize'
activesupport (3.2.0) lib/active_support/inflector/methods.rb:225:in `each'
activesupport (3.2.0) lib/active_support/inflector/methods.rb:225:in `constantize'
actionpack (3.2.0) lib/action_dispatch/routing/route_set.rb:62:in `controller_reference'
actionpack (3.2.0) lib/action_dispatch/routing/route_set.rb:47:in `controller'
actionpack (3.2.0) lib/action_dispatch/routing/route_set.rb:26:in `call'
journey (1.0.4) lib/journey/router.rb:68:in `block in call'
journey (1.0.4) lib/journey/router.rb:56:in `each'
journey (1.0.4) lib/journey/router.rb:56:in `call'
actionpack (3.2.0) lib/action_dispatch/routing/route_set.rb:570:in `call'
warden (1.2.1) lib/warden/manager.rb:35:in `block in call'
warden (1.2.1) lib/warden/manager.rb:34:in `catch'
warden (1.2.1) lib/warden/manager.rb:34:in `call'
actionpack (3.2.0) …Run Code Online (Sandbox Code Playgroud) 有没有办法在ActiveAdmin的模型索引页面中指定允许的操作,例如:
index do
actions :edit
end
index do
actions only: :edit
end
Run Code Online (Sandbox Code Playgroud)
不工作.什么是正确的语法?
赞赏.
bundle show activeadmin
/home/muichkine/.rvm/gems/ruby-2.1.2/bundler/gems/active_admin-9cfc45330e5a
Run Code Online (Sandbox Code Playgroud) 我正在使用rails 3设计,我正在尝试创建一个页面,每个人都可以查看(甚至那些没有注册的页面),但是为注册的人提供了额外的功能.
问题是,当我调用current_user时没有用户,因为我没有使用身份验证!在我的控制器上过滤,因为我希望未注册的用户能够查看它.
如果用户在会话中,如何在没有用户的情况下离开用户,我该如何登录?
我有一个带有名为"map_id"的整数列的表,我想添加一个activeadmin过滤器来过滤此列是否为NULL或IS NOT NULL.
怎么能实现呢?
我尝试了以下过滤器
filter :map_id, :label => 'Assigned', :as => :select, :collection => {:true => nil, :false => ''}
Run Code Online (Sandbox Code Playgroud)
但是,我收到以下错误消息:
用于#的未定义方法`map_eq'
activeadmin ×10
activerecord ×1
belongs-to ×1
devise ×1
forms ×1
formtastic ×1
meta-search ×1
routing ×1
ruby ×1
rubygems ×1