无法在Rails中保存序列化表单数据

时间:2010-08-17 06:03:58

标签: ruby-on-rails

我有一个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 :(得分:0)

我今天添加了同样的问题,看来表单未在视图中正确构建。 我只是在创建操作开始时添加:

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

它运作正常