如何检查模型的属性值?

时间:2014-05-06 21:05:28

标签: ruby-on-rails

嘿,谢谢你花了一秒钟看看我的问题。 Rails newb在这里应该很容易,但我已经让自己完全陷入混乱。

我正在尝试检查我的模型的布尔属性是否设置为false,如果是,请将其更新为true。这就是我现在所拥有的:

if @subscriber[ is_active: false ]

   @subscriber.update(is_active: true) 

   render 'exists_add'
end

我知道这必须是一个愚蠢的问题,但由于某种原因,我无法在文档中或通过Google找到一个好的答案。

2 个答案:

答案 0 :(得分:1)

Rails为所有模型属性添加谓词方法。所以你可以对任何属性这样做。 model.attribute_name?。最后请注意问号。布尔方法也是如此。所以你应该能够做到以下几点。

@subscriber.is_active?

使用您的示例:

@subscriber.update(is_active: true) unless @subscriber.is_active?

答案 1 :(得分:0)

假设您拥有属性为Subscriber的{​​{1}}模型。

然后,你可以这样做:

is_active

如果您已设置unless @subscriber.is_active @subscriber.update(is_active: true) render 'exists_add' end 并且它指向@subscriber表中的记录。