我正在开发一个rails应用程序,其中我有两个模型User和Client.
User由设计支持,负责身份验证,has_one Client并保存给定用户的客户端详细信息.这种关系始终存在,因为我确保Client在创建模型时创建模型User.
对于我正在使用的管理区域ActiveAdmin.现在,当我尝试User通过管理界面创建一个时,我使用这样的表单:
form do |f|
f.inputs :username, :email, :password
f.inputs :name => "Client", :for => :client do |client|
client.inputs :name, :address, ...
end
end
Run Code Online (Sandbox Code Playgroud)
问题是既保存了User也没Client保存,并且页面重新加载了验证错误.我已经检查过rails console,WARNING: Can't mass-assign protected attributes: client_attributes每当我尝试创建一个时都会有一条消息User.
我已经搜索过这个问题并发现为了允许进行质量分配,必须attr_accessible为每个允许进行分配的字段定义.因此,我已将此指令放在Client模型中,用于上述每个字段,并且消息不断出现,从而阻止模型正确保存.
有没有人对此有所了解?
我在我的rails应用程序中使用active_admin.以前,我曾经在设计登录失败时渲染自定义页面.现在的问题是,如果active_admin登录失败,也会呈现相同的自定义页面.
我坚持这个问题并且在我的开发过程中放弃了放弃active_admin.请帮忙.
我的CustomFailure定义在这里:
class CustomFailure < Devise::FailureApp
def redirect_url
signin_path
end
def respond
if http_auth?
http_auth
else
redirect
end
end
end
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我如何修改代码以使用户登录的重定向路径失败并且admin_user登录失败.我的管理员用户登录路径是:admin_user_session_path
我想在Active Admin Dashboard页面上为我的几个模型添加搜索功能.我怎么做?
对于常规模型,我可以使用"过滤器",但我如何在仪表板视图上执行此操作.部分和ActiveAdmin :: Dashboards.build中可用的方法有哪些?
在我的模型中,我已经为质量分配定义了不同的角色.有些领域是attr_accessible :as => :default.其他领域是attr_accessible :as => [:default, :admin].
如何允许ActiveAdmin能够将属性更新为管理员角色?
用户有许多角色(名称:字符串).对于ActiveAdmin中的用户表单,我有以下DSL代码(在app/admin/users.rb中):
form do |f|
f.inputs "Details" do
f.input :email
f.input :roles, as: :radio
end
f.buttons
end
Run Code Online (Sandbox Code Playgroud)
在db中具有两个名称为"basic"和"extended"的角色,它使用带有标签"basic"和"extended"的单选按钮呈现表单,这些标签是从Role.name属性中提取的.
我需要使用I18n方法转换此属性的值.
可以使用ActiveAdmin来完成,或者我应该为此编写自己的部分内容?
谢谢!
我正在开发一个使用Active Admin管理一些数据的rails应用程序.我的一个视图导出了一个汇总后端数据的PDF.我想将PDF中的每个条目链接到与该资源关联的Active Admin中的"编辑"视图.
我的问题是如何获取模型实例的特定Active Admin编辑页面的URL.我似乎无法使用rake routes或使用我在文档中找到的其他方法找到URL .
我正在使用活动管理员gem来控制管理员的活动.我有一个名为CustomPage的页面,我的输入是标题(字符串)和内容(文本).对于内容,文本编辑器将显示在管理员页面中.在里面,我可以插入图像.这是这样的..

有没有什么方法可以修改它...就像给一个和搜索图像localy ..就像我们在活动管理员做的那个.
或者有没有办法编辑这个文本编辑器..(我的意思是在这个文本编辑器中使用回形针进行图片上传..而不是作为一个单独的字段.)
在以下代码中,如何使用另一个模型中的值将预填充的表单字段填充到ActiveAdmin表单中:
ActiveAdmin.register Person do
index do
column :forename
column :surname
column :code do |p|
MyCode.find_by_person_id(p.id).code
end
column :updated_at
default_actions
end
filter :forename
filter :surname
form do |f|
f.inputs "Person" do
f.input :forename
f.input :surname
# How to get a value here, e.g. MyCode.find_by_person_id(p.id).code as above
#f.input :code, :input_html => { :value => value??? }, as: :hidden
end
f.actions
end
end
Run Code Online (Sandbox Code Playgroud) 我已经看到了几个同样问题的问题,例如
通过Active Admin使用HABTM或Has_many
但我仍然在努力让事情发挥作用(此时我已尝试过多种方式).
我的模型(稍微复杂于用户模型的'技术员'别名):
class AnalysisType < ActiveRecord::Base
has_many :analysis_type_technicians, :dependent => :destroy
has_many :technicians, :class_name => 'User', :through => :analysis_type_technicians
accepts_nested_attributes_for :analysis_type_technicians, allow_destroy: true
end
class User < ActiveRecord::Base
has_many :analysis_type_technicians, :foreign_key => 'technician_id', :dependent => :destroy
has_many :analysis_types, :through => :analysis_type_technicians
end
class AnalysisTypeTechnician < ActiveRecord::Base
belongs_to :analysis_type, :class_name => 'AnalysisType', :foreign_key => 'analysis_type_id'
belongs_to :technician, :class_name => 'User', :foreign_key => 'technician_id'
end
Run Code Online (Sandbox Code Playgroud)
我已经为AnalysisType模型注册了一个ActiveAdmin模型,并且希望能够选择(已经创建)技术人员以在下拉列表/复选框中与该AnalysisType相关联.我的ActiveAdmin设置目前看起来像:
ActiveAdmin.register AnalysisType do
form do |f|
f.input :analysis_type_technicians, as: :check_boxes, :collection => User.all.map{ …Run Code Online (Sandbox Code Playgroud) 如何在Activeadmin中为我的所有资源挽救ActiveRecord :: RecordNotFound?
我知道在Rails中我可以放入rescue_from(ActiveRecord::RecordNotFound)ApplicationController,在ActiveAdmin中有相同的方法吗?
ruby-on-rails inherited-resources activeadmin ruby-on-rails-4