今天我按照 Rails 指南运行了一个演示,其中包括scope
如下:
scope :me, =>(keyword){where("title = ?",keyword)}
但它不起作用,所以我改为:
scope :me, ->(keyword){where("title = ?",keyword)}
现在它可以工作了,所以我想知道rails之间的区别,->
但=>
我没有找到结果,所以请告诉我,谢谢。
今天我按照 Rails 指南运行了一个演示,其中包括scope
如下:
scope :me, =>(keyword){where("title = ?",keyword)}
但它不起作用,所以我改为:
scope :me, ->(keyword){where("title = ?",keyword)}
现在它可以工作了,所以我想知道rails之间的区别,->
但=>
我没有找到结果,所以请告诉我,谢谢。
=>
将键与哈希映射文字中的值分开
->
- 新的lambda
(语法糖)
例子 :
h = { "foo" => "bar" }
l = ->{ "hello" }
l.call # => "hello"
第一个是语法错误。无论你在哪里读到,都是完全错误的。
第二个通常被称为“stabby lambda 语法”——它是写作的捷径:
lambda { |keyword| where('title = ?', keyword) }
更多关于 Ruby 中的 lambda:http ://rubymonk.com/learning/books/1-ruby-primer/chapters/34-lambdas-and-blocks-in-ruby/lessons/77-lambdas-in-ruby