ruby的多值表单标记

时间:2013-03-04 17:52:23

标签: ruby-on-rails ruby ruby-on-rails-3

这是我遇到的问题,我已经尝试过思考,但仍然无法找到解决方案。所以我有两个模型

  1. 用户
  2. 数据
  3. 和经验属于用户,并接受嵌套属性

    现在问题来了!我有页面/表单,我想更新或插入。

    所以在数据模型中

    flavor, body
    

    那么我如何添加表格标签,我可以指定我的味道,但让用户决定身体,例如,目前我有

    <%= f.text_field :body, placeholder: "...." %>
    

    那么我该如何做(错误的语法)

    <%= f.text_field :body, :flavor => "someflav" , placeholder: "...." %>
    <%= f.text_field :body, :flavor => "Otherflav" , placeholder: "...." %>
    

    依旧......

    如何实现这一目标?我查看了rails api,但无法弄清楚如何实现我的问题。

    感谢您的考虑和时间。

1 个答案:

答案 0 :(得分:0)

您需要使用fields_for

Rails构造输入名称,帮助它确切地确定哪个属性在哪里。

例如: user[datas_attributes][0][body]

因为(如果我正确地解释你)用户有很多数据,它看起来像这样:

<%= fields_for :datas do |data_fields| %>
  <%= data_fields.text_field :body %>
<% end %>

要完成这项工作,您需要做一些事情。

在您的模型中,您需要添加以下两行:

accepts_nested_attributes_for :datas
attr_accessible :datas_attributes