Rails 跨多个视图的相似表单字段
Rails similar form fields across multiple views
这个问题扩展了我之前发布的问题 。使用我的 rails 网络应用程序,用户注册并创建了一个项目。对于转化跟踪,我正在创建一个 getting_started
视图,允许人们在单个操作(在单个页面上)中注册和创建项目。
我现在有一个问题,特别是对于 projects
,我将在两个视图上放置表单字段,即在 new
上呈现的项目部分 _form
,以及update
观看次数。其次是 getting_started
视图中的用户和项目详细信息表单。我觉得我在重复很多代码,而 rails 有一种我只是没有看到的更简单的方法。我也经常更改 project
字段,并希望单点更新 project
_form
和 getting_started
_form
的表单。
我读过局部视图,在局部视图中会影响性能,而且我也不认为你可以简单地在局部中包含表单字段,然后在表单中呈现它们(会抛出一个错误询问我假设 "f" 是什么意思?)。
有什么最好的建议吗?
我认为您在用户 class 中寻找 accepts_nested_attributes_for :project
并且您的表单中有类似这样的内容:
<%= form_for @user do |f| %>
<%= f.fields_for :project do |builder| %>
<%= render :partial => "project_form", :locals => { f: builder } %>
<% end %>
<% end %>
它将允许您在非嵌套视图中使用相同的表单:
<%= form_for @project do |builder| %>
<%= render :partial => "project_form", :locals => { f: builder } %>
<% end %>
这个问题扩展了我之前发布的问题 getting_started
视图,允许人们在单个操作(在单个页面上)中注册和创建项目。
我现在有一个问题,特别是对于 projects
,我将在两个视图上放置表单字段,即在 new
上呈现的项目部分 _form
,以及update
观看次数。其次是 getting_started
视图中的用户和项目详细信息表单。我觉得我在重复很多代码,而 rails 有一种我只是没有看到的更简单的方法。我也经常更改 project
字段,并希望单点更新 project
_form
和 getting_started
_form
的表单。
我读过局部视图,在局部视图中会影响性能,而且我也不认为你可以简单地在局部中包含表单字段,然后在表单中呈现它们(会抛出一个错误询问我假设 "f" 是什么意思?)。
有什么最好的建议吗?
我认为您在用户 class 中寻找 accepts_nested_attributes_for :project
并且您的表单中有类似这样的内容:
<%= form_for @user do |f| %>
<%= f.fields_for :project do |builder| %>
<%= render :partial => "project_form", :locals => { f: builder } %>
<% end %>
<% end %>
它将允许您在非嵌套视图中使用相同的表单:
<%= form_for @project do |builder| %>
<%= render :partial => "project_form", :locals => { f: builder } %>
<% end %>