Rails控制器通过复制字段更新记录

时间:2015-06-02 19:27:21

标签: ruby-on-rails

我有一个Rails 3.2应用程序,我想在控制器操作中将一个字段的内容复制到另一个字段。

Costprojects包含以下两列:

original_year
project_year

我想将project_year的内容复制到original_year

我试过这样做:

    update = Costproject.where(:id => @costprojects).update_all(:original_year => :project_year)

我收到此错误:

PG::Error: ERROR:  invalid input syntax for integer: "project_year"

第1行:更新"成本项目" SET" original_year" =' project_year' w ^ ...

                                                ^

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

请试试这个:

Costproject.where(:id => @costprojects)
           .update_all("original_year = project_year")

使用您以前的代码:

update_all(:original_year => :project_year)

它尝试使用字符串值original_year更新整数字段project_year。这就是你收到错误的原因。