ruby-on-rails – Rails:在修改数据库之前修改表单参数
发布时间:2020-12-16 21:13:27 所属栏目:百科 来源:网络整理
导读:我正在开发一个通过表单发送数据的Rails应用程序.我希望在表单发送之后但在处理之前修改表单的某些“参数”. 我现在有什么 {"commit"="Create","authenticity_token"="0000000000000000000000000" "page"={ "body"="TEST","link_attributes"=[ {"action"="Fo
我正在开发一个通过表单发送数据的Rails应用程序.我希望在表单发送之后但在处理之前修改表单的某些“参数”.
我现在有什么 {"commit"=>"Create","authenticity_token"=>"0000000000000000000000000" "page"=>{ "body"=>"TEST","link_attributes"=>[ {"action"=>"Foo"},{"action"=>"Bar"},{"action"=>"Test"},{"action"=>"Blah"} ] } } 我想要的是 {"commit"=>"Create","link_attributes"=>[ {"action"=>"Foo","source_id"=>1},{"action"=>"Bar",{"action"=>"Test",{"action"=>"Blah",] } } 这可行吗?基本上,我试图一次提交两种类型的数据(“页面”和“链接”),并将“链接”的“source_id”分配给“页面”的“id”. 解决方法
在将其提交到数据库之前,您可以在控制器中编写代码,该代码将获取参数并在保存之前附加不同的信息.例如:
FooController < ApplicationController def update params[:page] ||= {} params[:page][:link_attributes] ||= [] params[:page][:link_attriubtes].each { |h| h[:source_id] ||= '1' } Page.create(params[:page]) end end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |