通过API,我的模型会通过此调用进行更新:
if @user.update_attributes(params.permit(:name, :phone, ...)
format ...
else
format ...
end
这嵌套在另一个if查询中,并根据结果我想在同一个模型中设置另一个变量。到目前为止我用
做到了@user.update_attributes(variable: :value)
但这会在我的桌子上发出两次写入,我很确定可以 合并成一个,但我不知道如何。 这是整个区块:
if test_for_something
@user.update_attributes(variable: :value)
if @user.update_attributes(params.permit(:name, :phone, ...)
format ...
else
format ...
end
提前全部谢谢!
答案 0 :(得分:0)
将value
添加到permit哈希中,然后只运行一次update_attributes。
确保允许此字段。
这只是你可以做到的一个例子:
修改强>
params[:value] = value
如果嵌套在模型名称中,则:
params[:model][:value] = value
然后:
@user.update_attributes(params.permit(:name, :phone, :value, ...)
希望它对你有所帮助。