在 Rails 中使用相同的形式和 form_for 以及命名空间中的嵌套资源
Using same form and form_for in Rails with nested resources in namespace
我有一个资源,无论有没有命名空间都可以访问。
# routes.rb
resources :foo
namespace :admin do
resources :foo
end
我想在两种情况下使用相同的 _form
部分,但是 form_for
需要不同的参数,具体取决于控制器。
我应该在控制器中设置 form_for
参数吗?
# foo_controller.rb
def set_foo
@form_for_arg = @foo
end
# admin/foo_controller.rb
def set_foo
@form_for_arg = [:admin, @foo]
end
将表格的共同特征放在partial里面,把它包裹在individual里form_for
:
<%= form_for [:admin, foo] do |f| %>
<%= render "foos/form", f: f %>
<% end %>
并且:
<%= form_for [foo] do |f| %>
<%= render "foos/form", f: f %>
<% end %>
我有一个资源,无论有没有命名空间都可以访问。
# routes.rb
resources :foo
namespace :admin do
resources :foo
end
我想在两种情况下使用相同的 _form
部分,但是 form_for
需要不同的参数,具体取决于控制器。
我应该在控制器中设置 form_for
参数吗?
# foo_controller.rb
def set_foo
@form_for_arg = @foo
end
# admin/foo_controller.rb
def set_foo
@form_for_arg = [:admin, @foo]
end
将表格的共同特征放在partial里面,把它包裹在individual里form_for
:
<%= form_for [:admin, foo] do |f| %>
<%= render "foos/form", f: f %>
<% end %>
并且:
<%= form_for [foo] do |f| %>
<%= render "foos/form", f: f %>
<% end %>