当前位置:  开发笔记 > 编程语言 > 正文

Rails:在修改数据库之前修改表单参数

如何解决《Rails:在修改数据库之前修改表单参数》经验,为你挑选了1个好方法。

我正在开发一个通过表单发送数据的Rails应用程序.我想修改某些形式的"参数"的形式发送,但之前对其进行处理.

我现在有什么

{"commit"=>"Create",
  "authenticity_token"=>"0000000000000000000000000"
  "page"=>{
    "body"=>"TEST",
    "link_attributes"=>[
      {"action"=>"Foo"},
      {"action"=>"Bar"},
      {"action"=>"Test"},
      {"action"=>"Blah"}
    ]
  }
}

我想要的是

{"commit"=>"Create",
  "authenticity_token"=>"0000000000000000000000000"
  "page"=>{
    "body"=>"TEST",
    "link_attributes"=>[
      {"action"=>"Foo",
       "source_id"=>1},
      {"action"=>"Bar",
       "source_id"=>1},
      {"action"=>"Test",
       "source_id"=>1},
      {"action"=>"Blah",
       "source_id"=>1},
    ]
  }
}

这可行吗?基本上,我试图一次提交两种类型的数据("页面"和"链接"),并将"链接"的"source_id"分配给"页面"的"id".



1> Kevin Davis..:

在将其提交到数据库之前,您可以在控制器中编写代码,该代码将获取参数并在保存之前附加不同的信息.例如:

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

推荐阅读
黄晓敏3023
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有