0

我要疯了。我有一个带有下拉框的表单

<select name="user[interest1]">
<option value="1">Something</option>
<option value="2">Another Something</option>
<option value="3">Another Something^3</option>
</select>

发布此内容应使用字段“interest1”上的整数更新用户模型。发送表单时出现此错误:

Interest1(#70226795163000) expected, got String(#70226775629700)

Request

Parameters:

{"utf8"=>"✓",
 ...
 "interest1"=>"3"},
 "commit"=>"Update"}

好的,这是一个正在发布的字符串,尽管它应该是一个整数。很简单,我想所以我要在我的控制器中捕获该参数并将其设为整数:

params[:user][:interest1] = params[:user][:interest1].to_i

现在我明白了:

Interest1(#70226795828040) expected, got Fixnum(#70226775624220)

Request

Parameters:

{"utf8"=>"✓",
 ...
 "interest1"=>3},
 "commit"=>"Update"}

尽管这是我真正期望的,但它不会在我的数据库中更新。我做错了什么?

谢谢你的帮助。

4

1 回答 1

0

似乎您有一个与用户关联的 Interest1 模型,并且您正在尝试使用关联 ID 分配给该关联。如果是这种情况,那么您希望该字段为 interest1_id 并将其添加到用户的 attr_accessible。

如果没有,那么您能否发布您的用户模型。

于 2013-02-24T11:27:24.147 回答