使用select form helper填充哈希列

时间:2016-12-19 23:52:23

标签: ruby-on-rails ruby-on-rails-4

Book.extended_fields = {}

的选择版本是什么?
<%= text_field_tag("book[extended_fields][description]", nil, class: "form-control") %>

我希望创建像

这样的东西
<select class="form-control" name="book[extended_fields][description]"></select>

这是一个部分,它将呈现一个使用动态创建的字段的表单。所以,最终,它会处于一个类似于:

的循环中
<%= text_field_tag("book[extended_fields][#{k}]", nil, class: "form-control") %>

其中k表示要创建的字段集合中的项目。

2 个答案:

答案 0 :(得分:0)

要回答您的主要问题,select_tag会创建您正在寻找的html选择选项。您可以找到文档here

正确的结构应该如此布局

select_tag(name, option_tags = nil, options = {}, {}, {:class => 'form-control'})

如果我误解了你的问题,请告诉我。

答案 1 :(得分:0)

我正在与铁杆战斗而不是使用它。我一直在尝试使用select帮助器,并且无法弄清楚如何为名称部分使用多个参数,然后将其连接到属性中。答案就是自己定义名称属性。

<%= select("book", "description", (options), {include_blank: true}, class: "form-control", name: "book[extended_fields][description]") %>