我试图更新条件为真的所有帖子。如果条件为真,则字段category_id应设置为params [:category_id]
每当我尝试这样做时,我的代码都会更新条件为真的所有帖子并将其设置为" ---!ruby / hash:ActionController :: Parameters categori_id:' 169&#39 ;"
而不仅仅是169。
我的控制器操作看起来像这样
def update_all_notes
@deletefolder = Categori.find(params[:id])
System.where(:categori_id => params[:id]).update_all(:categori_id => params[:categori_id])
redirect_to :back
end
我的表格如下:
<%= form_tag update_all_notes_path(category.id) do %>
<%= collection_select :kategori_id, :id, @current_company.category.where.not(:name => category.name), :id, :name %>
<button>move</button>
这是我发送给动作的参数 &#34; categori_id&#34; = GT; {&#34; categori_id&#34; = GT;&#34; 169&#34;}, &#34; ID&#34; = GT;&#34; 168&#34;}
提前致谢
答案 0 :(得分:1)
从你的哈希你应该将params [:categori_id]替换为params [:categori_id] [:categori_id]
哈希为{ "categori_id" => {"categori_id" => 169}, "id" => X }
答案 1 :(得分:0)
update_all
使用示例:
ids = [1,2,3]
records = Mammal::Human.where(id: ids)
records.update_all(status: :enlightenment, enlightenment_at: Time.zone.now, enlightenment_by: "myself")
我宁愿在status: value
语法上使用:status => value