我厌倦了使用if循环,因为.each
函数在应用于一个对象时不起作用。Ruby替代.each()与一个项目一起工作
例如:
@groups = ...
users = User.find(params[:selected_users])
if params[:selected_users].count == 1 # case with one object
users.some_method()
else # case with multiple objects
users.each do |user|
user.some_method()
end
end
有没有会做同样的.each
当应用到一个对象,它只会返回对象的功能?
if params [:selected_users] .count == 1#case with one object users.some_method() else#case with multiple objects users.each do | user | user.some_method() end end在这里我们有不同的方法吗?例如some_method()或两者相同 – Sanket 2014-09-19 09:27:38
您的代码有问题。如果您将一个(ids)数组传递给['find'](http://api.rubyonrails.org/classes/ActiveRecord/FinderMethods.html#method-i-find),它将返回一个数组,即使该数组只包含一个id:'User.find([1])#=> [#]'。 –
Stefan
2014-09-19 09:32:06
@Sanket是的方法是相同的。 你是对的@Stefan,所以我认为写'users = User.find([params [:selected_users]])'可能是最好的解决方案。 – user284130 2014-09-19 11:10:45