保存前检查一个值

时间:2017-03-12 03:10:31

标签: ruby-on-rails ruby before-save

我正在尝试在表单中实现一个表示if cat:(integer)=1 @post.update(father: "lolo")

的条件

我会尝试将其放入我的创建操作中,并将其放入before_save但不起作用。所以,如果您有任何想法可以解决这个问题,欢迎您!

我的代码:

选项1(进入创建动作)=

if @self.cat = 1
 @cycle.update(father: "lolo")
end 

选项2(before_save动作)

before_save :check_cat

def check_cat
  @cow = self.cow
  if @cow.cycles.any?
    self.update(father: "lolo")
  end 
end

1 个答案:

答案 0 :(得分:0)

if @self.cat = 1

您正在if运算符中使用赋值。必须使用比较。 阅读本文了解详情:https://www.tutorialspoint.com/ruby/ruby_operators.htm

总之必须是

if @self.cat == 1