lint error无用的变量赋值

时间:2017-04-21 19:11:08

标签: ruby ruby-on-rails-4 if-statement

我在模型

中有条件
  if column_value = 'Y'
    Abc.new('test', latest.column_1, latest.column_2, latest.column_3)
  else
    Abc.new('test2', latest.column_1, latest.column_2, latest.column_3)
  end
end

column_value不是变量。我正在使用活动记录中存在的列值。 为什么我得到lint错误Useless assignment to variable - column

编辑: 尝试了column_value =='Y',但后来收到错误undefined variable or method column_value 还试过self.column_value得到lint错误redundant self detected

2 个答案:

答案 0 :(得分:0)

==子句中使用=运算符代替if赋值运算符:

if self.column_name == 'Y'
# do this
else
# do that
end

答案 1 :(得分:0)

使用三元运算符修复并需要latest.column_value

Abc.new(latest.column_value == 'Y' ? 'test' : 'test2', latest.column_1, latest.column_2, latest.column_3)