这个有效:
Beer.all.send(:sort)
它也适用于 block :
Beer.all.sort_by{|b| b.name}
Beer.all.sort_by(&:name)
但是当我像这样给发送方法一个可执行 block 时:
Beer.all.send(:sort_by{|b| b.name})
Beer.all.send(:sort_by(&:name))
我收到语法错误。在 Ruby 中是否有任何替代方法来为发送方法提供可执行 block ?
最佳答案
你应该尝试这样的事情:
Beer.all.send(:sort_by) {|b| b.name}
关于ruby-on-rails - 给对象发送方法另一个方法 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28630189/