我正在尝试检查我的模型的布尔属性是否设置为false,如果是,请将其更新为true。这就是我现在所拥有的:
if @subscriber[ is_active: false ]
@subscriber.update(is_active: true)
render 'exists_add'
end
我知道这必须是一个愚蠢的问题,但由于某种原因,我无法在文档中或通过Google找到一个好的答案。
答案 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
表中的记录。