我通常需要查看以下内容:
if ['Bob','Mary','John'].include? @user.name
有没有办法写出类似的东西:
if @user.name.in? ['Bob','Mary','John']
谢谢。
答案 0 :(得分:5)
Rails 3.1已经有了这个Object.in?
方法
characters = ["Konata", "Kagami", "Tsukasa"]
"Konata".in?(characters) # => true
character = "Konata"
character.in?("Konata", "Kagami", "Tsukasa") # => true
答案 1 :(得分:4)
如果@user.name
是String
,您可以将in?
添加到String
。
class String
def in? a
a.include? self
end
end
这具有以下效果:
irb(main):011:0> 'Bob'.in? ['Bob','Mary','John']
=> true
irb(main):012:0> 'Jane'.in? ['Bob','Mary','John']
=> false