rails 仅保存params中和model想对应的数据

来源:互联网 发布:网络电视怎么调出来 编辑:程序博客网 时间:2024/06/08 19:55

在rails框架中,前端form表单会将所有input标签的值,封装在params中传到后台,但是我们可能并不需要所有,或者在保存到数据库时,需要对数据进行一些动态的处理.

如果仅仅是有些数据不需要保存进数据库,我们可以使用permit方法,来进行参数过滤

article.update(my_data)def my_data      params.require(:article).permit(:title,:author)end
如果需要对传进来的参数进行动态处理,可以使用如下类似方法

#第一步获得需要保存的模型的字段attributes_ary = obj.attribute_names#如果该模型的字段包含参数的key,就把它和他的value封装成一个新的哈希参数params.each do |key, value|      if attributes_ary.include?(key.to_s)          value = value.to_json if value.is_a?(Hash)          update_params[key.to_sym] = value      endend#此时保存的就只是对应的参数A.update_attribute!(update_params)


0 0