Awe*_*wea 6 formtastic ruby-on-rails-3 activeadmin
我收到这个错误:
undefined method `has_many' for #<Formtastic::SemanticFormBuilder:0xb410d4c>
Run Code Online (Sandbox Code Playgroud)
当我像这样使用它时,它工作:
ActiveAdmin.register Ressource do
form do |f|
f.inputs do
f.input :offer_id, :as => :hidden
f.input :name
f.input :category, :include_blank => false, :collection => Category.order('place ASC').all, :member_label => :to_label
f.input :description, :input_html => {:class => 'editor'}
f.input :price
end
f.has_many :roles do |app_f|
app_f.inputs do
if not app_f.object.id.nil?
app_f.input :_destroy, :as => :boolean, :label => "Supprimer l'utilisateur du lot"
end
app_f.input :user, :member_label => :to_label, :label => 'Assigné le lot'
app_f.input :name, :include_blank => false
end
end
f.buttons
end
end
Run Code Online (Sandbox Code Playgroud)
但它不是部分工作,我需要通过不同的方式或其他方式调用has_many方法?
Ami*_*tin 14
ActiveAdmin通过一些有用的帮助程序扩展了formtastic,例如has_many
(lib/active_admin/form_builder.rb
在activeadmin gem中).
不幸的是,默认情况下,这些帮助程序在模板中不可用.
这有两个选择:
如果您不需要额外的has_many
功能(看起来像active_admin添加了一些javascript以便于将新记录添加到集合中),那么您可以使用stock formtastic.此示例应在activeadmin文件以及部分文件中正常工作:
ActiveAdmin.register Ressource do
form do |f|
# ...
f.inputs :for => :roles do |app_f|
# ...
app_f.input :name, :include_blank => false
end
f.buttons
end
end
Run Code Online (Sandbox Code Playgroud)显式使用ActiveAdmin表单构建器:
<%= semantic_form_for [:admin, @resource], builder: ActiveAdmin::FormBuilder do |f| %>
<!-- ... -->
<%= f.has_many :teachers do |app_f| %>
<%= app_f.inputs do %>
<!-- ... -->
<% end %>
<% end %>
<%= f.buttons %>
<% end %>
Run Code Online (Sandbox Code Playgroud)我希望这有帮助.
归档时间: |
|
查看次数: |
3538 次 |
最近记录: |