在开发中一切正常,但在生产中它在新建和编辑操作中中断。下面是生产日志:
.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/bundler/gems/activeadmin-5a2b7b5bc683/app/views/active_admin/resource/new.html.arb (191.9ms)
I, [2015-07-31T10:51:31.326590 #26202] INFO -- : Completed 500 Internal Server Error in 254ms
F, [2015-07-31T10:51:31.329305 #26202] FATAL -- :
ActionView::Template::Error (too many arguments for format string):
1: insert_tag renderer_for(:new)
app/admin/business.rb:51:in `block (3 levels) in <top (required)>'
app/admin/business.rb:36:in `block (2 levels) in <top (required)>'
我的商业模式:
has_many :business_attributes, dependent: :destroy
accepts_nested_attributes_for :business_attributes, allow_destroy: true, reject_if: :all_blank
My BusinessAttribute Model:
belongs_to :business
ActiveAdmin:
ActiveAdmin.register Business do
form(allow_destroy: true, html: { multipart: true }) do |f|
...other_fields..
f.has_many :business_attributes do |attribute|
attribute.input :name
attribute.input :value
end
f.actions
end
permit_params :param, :param, ....
end
我正在使用activeadmin '1.0.0。Pre1 '与rails 4.2.0我的生产堆栈是nginx和独角兽,如果有帮助的话。欢迎任何评论和回复。谢谢。
希望您可以使用推荐的稳定版本的activeadmin
你可以试试这个
form :html => { :enctype => "multipart/form-data" } do |f|
和
f.has_many :business_attributes do |attribute|
attribute.input :_destroy, :as => boolean
attribute.input :name
attribute.input :value
因为你的模型已经有
accepts_nested_attributes_for :business_attributes, allow_destroy: true
虽然我无法修复activeadmin问题。但是我发现了一个解决问题的方法(它无法从关系中构建表单)。
form partial: 'form'
呈现一个表单部分修复了这个问题。我使用coocon gem来嵌套属性。
希望对别人有所帮助。