Rails, как визуализировать поле массива в шаблоне с помощью form_builder? - PullRequest
0 голосов
/ 13 февраля 2012

Я использую mongoid и сохраняю информацию о географическом местоположении в поле массива.

В моей модели у меня есть:

field :location, :type => Array

На мой взгляд, у меня есть:

<%= f.hidden_field :location %>

И это дает результат:

<input id="foo_location" name="foo[location]" type="hidden">

То, что я хочу, это как показано ниже:

<input id="foo_location_1" name="foo[location][]" type="hidden">
<input id="foo_location_2" name="foo[location][]" type="hidden">

Ответы [ 2 ]

0 голосов
/ 13 февраля 2012

Я нашел решение, установив :multiple => true, что даст правильный результат.

<%= f.hidden_field :location, :multiple => true, :id => "foo_location_1" %>
<%= f.hidden_field :location, :multiple => true, :id => "foo_location_2" %>
0 голосов
/ 13 февраля 2012

Для того чтобы параметр location был передан обратно в виде массива, вы должны явно определить имя ввода для этих полей:

<% @foo.location.each do |loc| %>
  <%= f.hidden_field :location, :name => "foo[location][]", :value => loc %>
<% end %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...