Ruby on rails 如何重构Rails表单组件

Ruby on rails 如何重构Rails表单组件,ruby-on-rails,Ruby On Rails,我正在尝试将new.html.erb和edit.html.erb中的重复表单_分区。 我认为有两种方法可以做到这一点: 将代码的整个表单_放入部分 仅将字段元素放入分部 你选择哪一个?这是口味的问题吗? 我想知道你的选择是否有实际的理由。 如果你有第三条路,也欢迎 第一种方式: 或者 第二种方式: 示例很简单,您有更多的字段和标签。第一种方法。可读性在这里很重要。第二条路真的很糟糕 如果您需要检查它是否是部分中的新记录,您可以添加以下内容: <% if @user.new_record?

我正在尝试将new.html.erb和edit.html.erb中的重复表单_分区。 我认为有两种方法可以做到这一点:

将代码的整个表单_放入部分

仅将字段元素放入分部

你选择哪一个?这是口味的问题吗? 我想知道你的选择是否有实际的理由。 如果你有第三条路,也欢迎

第一种方式:

或者

第二种方式:


示例很简单,您有更多的字段和标签。

第一种方法。可读性在这里很重要。第二条路真的很糟糕

如果您需要检查它是否是部分中的新记录,您可以添加以下内容:

<% if @user.new_record? %>
  ... your code here ...
<% end %>
<%= form_for @user do |f| %>
  <%= f.text_field :name %>
  <%= f.submit button_name %>
<% end %>
 <%= form_for @user do |f| %>
   <%= render 'fields', f: f %>
   <%= f.submit "Create my account" %>
 <% end %>
<%= f.text_field :name %>
<% if @user.new_record? %>
  ... your code here ...
<% end %>