Ruby on rails 如何检查模型';s属性';s值多少?
嘿,谢谢你花点时间来检查我的问题。Rails在这里是新手,这应该很容易,但我已经把自己弄得完全糊涂了 我试图检查我的模型的布尔属性是否设置为false,如果设置为false,则将其更新为true。以下是我现在拥有的:Ruby on rails 如何检查模型';s属性';s值多少?,ruby-on-rails,Ruby On Rails,嘿,谢谢你花点时间来检查我的问题。Rails在这里是新手,这应该很容易,但我已经把自己弄得完全糊涂了 我试图检查我的模型的布尔属性是否设置为false,如果设置为false,则将其更新为true。以下是我现在拥有的: if @subscriber[ is_active: false ] @subscriber.update(is_active: true) render 'exists_add' end 我知道这一定是个愚蠢的问题,但由于某些原因,我无法在文档中或通过Goog
if @subscriber[ is_active: false ]
@subscriber.update(is_active: true)
render 'exists_add'
end
我知道这一定是个愚蠢的问题,但由于某些原因,我无法在文档中或通过Google找到一个好的答案。Rails将谓词方法添加到所有模型属性中。因此,您可以对任何属性执行此操作<代码>模型.属性\u名称?。注意最后的问号。布尔方法也是如此。所以你应该能够做到以下几点
@subscriber.is_active?
以您的例子:
@subscriber.update(is_active: true) unless @subscriber.is_active?
假设您有一个属性为
的订户
模型处于活动状态
然后,您可以这样做:
unless @subscriber.is_active
@subscriber.update(is_active: true)
render 'exists_add'
end
假设您已经设置了
@subscriber
,并且它指向subscribers
表中的一条记录。Rails将谓词方法添加到所有模型属性中
?这是真的吗?我只是试了一下,但没有成功。您的意思可能是说@subscriber.u处于活动状态时,所有布尔属性都处于活动状态?当我需要相反的结果时返回false,这就足够让我达到目的了。使用@订阅服务器。您是否处于活动状态?现在工作得很有魅力@不,我说的是真的。它向所有属性添加谓词方法。是否确实要调用现有属性?您得到了什么错误?@Khundawg这是因为我在示例中使用了除非关键字,而不是如果<代码>除非
使您无需执行如果代码>+1哦..我的错..我在检查虚拟桌子..我没意识到我一段时间前把它倒空了。