我创建了一个关联,其中Project has_many任务和任务belongs_to Project.我在admin/tasks.rb中创建了表单
form do |f|
f.inputs "Details" do
f.input :title
f.input :project
end
f.buttons
end
Run Code Online (Sandbox Code Playgroud)
现在在编辑任务页面中,我有一个下拉菜单,我可以在其中选择项目,但条目是#<Project:0x00000...>.
如何自定义下拉列表中的条目以显示项目标题字段?
我是一个Rails新手.
我正在使用ActiveAdmin(使用Formtastic)和iso-3166-country-select插件用于国家/地区选择菜单.
我希望插件首先包含一个空白选项,以防用户忘记选择国家/地区,它将收到验证错误.但是现在它的设置方式,澳大利亚位居榜首,因此如果用户忘记设置国家,澳大利亚就会成为他们的国家.
该插件有一些优先国家设置,如澳大利亚,加拿大,英国和美国,我想改变优先国家,但我无法找到他们如何将这些国家作为优先事项.代码有一些注释我尝试添加priority_countries数组但无法使其工作.我想这是因为可能Formtastic或ActiveAdmin将它们设置在其他地方.
我只是在activeadmin文件中有这个
f.inputs "Company Contact Details" do
f.input :address
f.input :city
f.input :state
f.input :postal_code
f.input :country
f.input :business_phone
f.input :business_phone_2
end
Run Code Online (Sandbox Code Playgroud) 有没有办法在资源的#index上有条件地隐藏每行的"编辑"链接?
例如,假设您有User资源.用户处于活动状态时,您可以编辑用户.但是,一旦用户停用其帐户,它就不再可编辑.用户仍然应该在索引页面上显示View链接.
谢谢!
我正在使用Ruby on Rails的Active Admin,我对面板中显示某些模型的方式存在问题.
以课堂User为例,如果我没有定义任何方法来展示友好,我明白了#<User:00000006b47868>.因此,Active Admin建议实现一种方法,为每个类指定如何显示它.
根据文档(http://activeadmin.info/docs/3-index-pages/index-as-table.html),Active Admin按以下顺序查找其中一种方法来猜测要显示的内容:
:display_name, :full_name, :name, :username, :login, :title, :email, :to_s
因此在User类中使用此方法可以解决问题:
def display_name
return self.id.to_s + '-' + self.full_name
end
Run Code Online (Sandbox Code Playgroud)
但是,在使用Active Admin之前,我已经将该方法display_name用于其他目的(例如,在视图中),以便以友好的方式显示用户名,我不想在Active Admin面板中显示相同的内容.
我无法更改方法的名称,因为我display_name在项目中使用了很多文件,并且更改它可能会在应用程序中引入错误.
这种情况的理想解决方案active_admin_name是使用Active Admin用于在其面板中显示模型的方法.所以问题是:
有没有办法让Active Admin调用一个方法而不是display_name?例如,要产生以下顺序:
:active_admin_name, :display_name, :full_name, :name, :username, :login, :title, :email, :to_s
我在Active Admin文档中搜索过config/initializers/active_admin.rb,但我找不到办法.
谢谢!
这可能很简单,但我找不到解决方案.
在ActiveAdmin中,我想自定义页面顶部菜单的行为,特别是当前登录用户的此链接:

在我的所有搜索中,我都找不到改变右上角链接的方法.
我想更改链接指向的文本,并可能添加指向菜单区域的链接.
是否有捷径可寻?
在我的应用程序中,我已经成功安装了Devise,并且效果很好。然后,我第一次安装了Active Admin for Admin面板并设置了路径。现在,当我尝试登录Active Admin时,localhost:3000/admin/login它会将我重定向到Devise的登录页面。我知道可能有愚蠢的错误,但不知道如何解决此问题?
app / config / initializers / active_admin.rb
ActiveAdmin.setup do |config| #I have removed comments
config.site_title = "Shopaholic"
config.authentication_method = :authenticate_admin_user!
config.current_user_method = :current_admin_user
config.logout_link_path = :destroy_admin_user_session_path
config.batch_actions = true
end
Run Code Online (Sandbox Code Playgroud)
app / config / initializers / devise.rb
Devise.setup do |config|
config.secret_key = '28c01a5ccf820bb594d2b6421becfa6487df79dad52a57d49cf61f802ea00c7364215f43cdf87463503e658da69e182f8c35d668577f975fea2bdee736a5d20a'
config.mailer_sender = 'please-change-me-at-config-initializers-devise@example.com'
require 'devise/orm/active_record'
config.authentication_keys = [ :email ]
config.case_insensitive_keys = [ :email ]
config.strip_whitespace_keys = [ :email ]
config.skip_session_storage = [:http_auth]
config.stretches = Rails.env.test? ? …Run Code Online (Sandbox Code Playgroud) 我有一个需要多语言的rails项目.我在为rails项目启用globalize时遇到了一些问题.
我想知道是否有一个完整的清单/配方,可以为rails应用程序启用国际化.
请注意,我使用ActiveAdmin也需要参与其中.
我尝试运行命令时出错:
rails g active_admin:install
错误是:
user @ user1:〜/ projectX $ rails g active_admin:install invoke devise /home/user/.rvm/gems/ruby-2.2.0/bundler/gems/activeadmin-6bde1f57ec5f/lib/generators/active_admin/devise/devise_generator.rb :21:in
rescue in install_devise': uninitialized constant ActiveAdmin::Generators::DeviseGenerator::DependencyError (NameError) from /home/user/.rvm/gems/ruby-2.2.0/bundler/gems/activeadmin-6bde1f57ec5f/lib/generators/active_admin/devise/devise_generator.rb:19:ininstall_devise'from /home/user/.rvm/gems/ruby-2.2.0/gems/thor-0.19.1/lib/thor/command.rb:27:inrun' from /home/user/.rvm/gems/ruby-2.2.0/gems/thor-0.19.1/lib/thor/invocation.rb:126:ininvoke_command'from/home/user/.rvm/gems/ruby-2.2.0/gems/thor-0.19.1/lib/thor/invocation.rb:133:inblock in invoke_all' from /home/user/.rvm/gems/ruby-2.2.0/gems/thor-0.19.1/lib/thor/invocation.rb:133:ineach from /home/user/.rvm/gems/ruby-2.2.0/gems /thor-0.19.1/lib/thor/invocation.rb:133:inmap' from /home/user/.rvm/gems/ruby-2.2.0/gems/thor-0.19.1/lib/thor/invocation.rb:133:ininvoke_all'来自/home/user/.rvm/gems/ruby-2.2.0/gems/thor-0.19.1/lib/thor/group .rb:232:从/ home/dispatch' from /home/user/.rvm/gems/ruby-2.2.0/gems/thor-0.19.1/lib/thor/invocation.rb:115:in调用来自/home/user/.rvm/gems/ruby-2.2.0/gems/thor-0.19.1/lib/thor/group.rb:277:inblock in _invoke_for_class_method' from /home/user/.rvm/gems/ruby-2.2.0/gems/thor-0.19.1/lib/thor/shell.rb:68:inwith_padding' user/.rvm/gems/ruby-2.2.0/gems/thor-0.19.1/lib/thor/group.rb:266:_invoke_for_class_method' from /home/user/.rvm/gems/ruby-2.2.0/gems/thor-0.19.1/lib/thor/group.rb:133:inin_invoke_from_option_users'from /home/user/.rvm/gems/ruby-2.2.0 /gems/thor-0.19.1/lib/thor/command.rb:27:inrun' from /home/user/.rvm/gems/ruby-2.2.0/gems/thor-0.19.1/lib/thor/invocation.rb:126:ininvoke_command'来自/home/user/.rvm/gems/ruby-2.2.0/gems/thor-0.19.1/lib/thor /invocation.rb:133block in invoke_all' from /home/user/.rvm/gems/ruby-2.2.0/gems/thor-0.19.1/lib/thor/invocation.rb:133:in:来自/home/user/.rvm/gems/ruby-2.2.0/gems/thor-0.19.1/lib/thor/invocation.rb:133:inmap' from /home/user/.rvm/gems/ruby-2.2.0/gems/thor-0.19.1/lib/thor/invocation.rb:133:ininvoke_all'from /home/user/.rvm/gems/ruby-2.2.0/gems/thor-0.19.1/lib/ …
当我使用活动管理员删除常驻模型对象时,我收到名称错误
我有常驻模特:
class Resident < ActiveRecord::Base
has_many :leaves,dependent: :delete_all
end
Run Code Online (Sandbox Code Playgroud)
第二个是离开模型:
class Leave < ActiveRecord::Base
belongs_to :resident
end
Run Code Online (Sandbox Code Playgroud)
给我以下错误:
此外导轨误解假名字,并把它改为leafe ..所以我改名或者重构文件:装饰/ leafe_decorator.rb 到装饰/ leave_decorator.rb
类似于装饰测试.
现在我再次通过我的整个代码搜索Leafe Keyword,但它不存在.仍然得到那个错误.我该怎么办 ?
我对铁路有点新意.我正在设置activeadmin但是在模型的记录列表中,批处理操作和复选框存在问题.基本上,批处理操作按钮显示为灰色,当我单击顶部复选框以选择/取消选择所有记录时,它只检查一个框,所有其他框保留其当前状态,从而无法应用任何批处理操作.
我知道默认情况下有一个删除批处理操作,但是按钮灰显了我不知道.
我到目前为止尝试的解决方案是:
添加selectable_column选项app/admin/model.rb
index do
selectable_column
column :name
column :email
column :create_date
actions
end
Run Code Online (Sandbox Code Playgroud)
并添加#= require active_admin/base到active_admin.js.coffee
这些似乎都不起作用.我已经看到了其他rails项目默认情况下从一开始就可以使用这些批处理项目,但是我无法重新启动一个新项目,因为我在这个项目上很先进.
如果需要任何进一步的信息来解决问题,请告诉我.
UPDATE
我看到活动管理员的工作项目有一个assets/active_admin.js文件,我的项目没有它.我在Chrome检查员的来源下检查过.我认为这是问题所在,但我不知道它为什么不加载.
activeadmin ×10
ruby ×6
devise ×2
activemodel ×1
activerecord ×1
forms ×1
formtastic ×1
globalize ×1
menu ×1
redirect ×1