Проблема с сохранением данных сериализованной формы в Rails - PullRequest
0 голосов
/ 17 августа 2010

У меня есть модель Campaign, которую я хочу, чтобы пользователь мог отмечать и ставить галочку для каждого состояния, которое я хочу сохранить в массиве в одном из полей, например ["CA", "NY", "OH", "FL"].

Я не уверен, что сериализованная здесь правильная терминология.У меня есть несколько полей формы, сгенерированных так:

<% State::NAMES.each do |state| %>
  <%= check_box("states_allowed", state[1], :checked => true) %>
  <label for="states_allowed_<%= state[1] %>"><%= state[0] %></label>
<% end %>

, в которых State::NAMES, это просто массив имен и сокращений состояний.

Так что это дает мне HTML-код:

...
<input type="hidden" value="0" name="states_allowed[NE]"><input type="checkbox" value="1" name="states_allowed[NE]" id="states_allowed_NE">
<label for="states_allowed_NE">Nebraska</label>
...

Но как я могу сохранить контрольные поля?Содержимое столбца остается нулевым, и я не получаю сообщение об ошибке.

Я попытался вставить serialize :states_allowed в мою модель Campaign, но не повезло.

1 Ответ

0 голосов
/ 31 декабря 2010

Я добавляю ту же проблему сегодня, похоже, что форма неправильно построена в представлении.Я просто добавил в начале своего действия по созданию:

 params[:campaign][:states_allowed] = params[:states_allowed]

И оно работает правильно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...