gpt4 book ai didi

ruby-on-rails - Active Admin - 在成员操作中使用 Form DSL(使用 has_many)

转载 作者:数据小太阳 更新时间:2023-10-29 07:19:26 25 4
gpt4 key购买 nike

有没有办法从自定义成员操作中使用 ActiveAdmin 的表单 dsl?

我想保留 has_many 语义以避免必须自己从头开始实现它,但我想要一个单独的表单 View 。

像这样的东西是理想的:

member_action :subject, method: :get do
@subject = Subject.find(params[:id])

form do |f|
f.inputs do
f.input :name, :required => true, :input_html => {:class => "large"}
end
end
end

最佳答案

Arbre 似乎不支持 formtastic,所以我无法让表格在 .arb 文件中工作。但是,您可以在 .erb 文件中使用 formtastic。因此,虽然它没有使用 ActiveAdmin 的 DSL 包装器来实现 formtastic,但语法是相似的:

# app/admin/foo.rb

ActiveAdmin.register Foo do
member_action :subject, method: [:get, :patch] do
if request.get?
render :some_custom_view
else
# handle update or whatever else you would like to do on form submit
# if resource.update(...)
# redirect_to ...
# else
# render :some_custom_view
# end
end
end
end

# app/views/admin/foo/some_custom_view.html.erb

<%= semantic_form_for [:admin, resource], url: subject_admin_foo_path(resource) do |f| %>
<%= f.semantic_errors(*f.object.errors.keys) %>
<%= f.inputs do %>
<%= f.input :name %>
<% end %>
<%= f.actions %>
<% end %>

关于ruby-on-rails - Active Admin - 在成员操作中使用 Form DSL(使用 has_many),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12102571/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com