此问题扩展了我之前发布的问题Rails combining RESTful methods in a new controller。使用我的rails web应用程序,用户注册并创建项目。对于转换跟踪,我正在创建一个getting_started
视图,该视图允许用户在单个操作中(在单个页面上)注册和创建项目。
我现在遇到问题,特别是对于projects
,我会在两个视图上设置表单字段,即在_form
上呈现的项目部分new
和{{ 1}}次观看。其次是update
视图上的用户表单和项目详细信息。我觉得我复制了很多代码,而rails只有一种我没有看到的简单方法。我还定期更改getting_started
字段,并希望单点更新project
project
以及_form
getting_started
的表单。
我已经读过部分视图,部分视图可能会影响性能,而且我也不认为你可以简单地将表单字段包含在一个部分中,并以一种形式呈现它们(将丢弃一个错误询问" f"意味着我假设?)。
有任何建议如何最好地做到这一点?
答案 0 :(得分:0)
我认为您在用户类中寻找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 %>