从视图编辑模型上的多个属性的 Rails 方法

Posted

技术标签:

【中文标题】从视图编辑模型上的多个属性的 Rails 方法【英文标题】:Rails way to edit multiple attributes on a model from a view 【发布时间】:2013-11-21 02:09:45 【问题描述】:

我有一个模型Person 具有以下属性:

:name, :state, :age, :town

假设我希望能够从该人的编辑视图编辑除:name 之外的所有属性。有没有一种“rails”的方式来做到这一点,如果有的话,我会写什么而不遍历每个属性并创建一个表单?

现在,我有这样的东西:

<%= form_for @person do |person_form| %>

    <%= person_form.fields_for :age do |age_form| %>
        <%= age_form.text_field :age %>
    <% end %>

<% end %>

我会为每个属性都这样做。

【问题讨论】:

【参考方案1】:

这只是一个标准表单,因为您包裹表单的对象具有所有属性。

<%= form_for @person do |f| %>
  <%= f.text_field :state %>
  <%= f.text_field :age %>
  <%= f.text_field :town %>
  <%= f.submit %>
<% end %>

当然,您可以在表单中添加标签和您需要的任何其他内容。

【讨论】:

以上是关于从视图编辑模型上的多个属性的 Rails 方法的主要内容,如果未能解决你的问题,请参考以下文章