我见过很多帖子提供-W0
标志作为这个问题的答案,但我不想压制所有警告,只是警告特定值。
我在Ruby 1.8.7上运行非rails应用程序(尽管使用ActiveRecord)。我想保留所有警告,除了以下DEPRECATION警告:
Object#id will be deprecated; use Object#object_id
如果那是不可能的,我想抛弃所有弃用警告。至少Java可以让你这样做。 Ruby怎么样?
更新:我已经对两个答案进行了投票,但检查了后来的搜索者希望在这里找到的答案。
答案 0 :(得分:10)
如果有一个特定的代码段产生警告,你可以尝试在ActiveSupport的内核模块中混合并用silence_warnings
块包装(例如直接从RDoc拉出):< / p>
silence_warnings do
value = do_something_that_causes_warning # no warning voiced
end
noisy_call # warning voiced
绝对有必要压制它吗?这不像是你在编译东西而且必须同时筛选出大量的警告......
答案 1 :(得分:3)
修改:如果您使用read_attribute(:id)
,那么您应该避免使用。谢谢杰里米!
我不是Rails开发人员,但是没有一种方法可以让你说“我想要数据库字段id
,而不是对象的id
方法”?