从视图编辑模型上的多个属性的 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 方法的主要内容,如果未能解决你的问题,请参考以下文章

Rails 3 从单个模型和方法创建多个记录条目

Rails - 从视图中的索引操作访问实例变量属性

在哪里放置不是模型、视图、控制器或助手的 Rails 代码?

优化重复 Rails 代码的正确方法

如何在视图中设置和调用 rails 方法来更新对象的属性

从 aspnetmvc 序列化时忽略淘汰视图模型上的属性