-1
我有一個遷移文件create_subject
(其代碼如下),Subject
類包含使用lambda語法的作用域。當我撥打Subject.visible
時,出現語法錯誤。ruby on rails 5 lambda語法錯誤,意外=>,期待')'
class CreateSubjects < ActiveRecord::Migration[5.0]
def up
create_table :subjects do |t|
t.string "name"
t.integer "position"
t.boolean "visible", :default=>false
t.timestamps
end
end
def down
drop_table :subjects
end
end
控制檯錯誤日誌
irb(main):003:0> Subject.visible
SyntaxError: C:/Users/SS/Sites/simple_cms/app/models/subject.rb:3: syntax error, unexpected =>, expecting ')'
scope :visible, -> { where (:visible => true) }
^
C:/Users/SS/Sites/simple_cms/app/models/subject.rb:4: syntax error, unexpected =>, expecting ')'
scope :invisible, -> { where (:visible => false) }
^
C:/Users/SS/Sites/simple_cms/app/models/subject.rb:7: syntax error, unexpected '|'
scope :search, -> {|query| where (["name LIKE ?", "%#{query}%"]) }
^
C:/Users/SS/Sites/simple_cms/app/models/subject.rb:7: syntax error, unexpected (arg, expecting keyword_do or '{' or '('
scope :search, -> {|query| where (["name LIKE ?", "%#{query}%"]) }
(謝謝你,爲回答貌似最。的錯誤是固定的): irb(main):001:0> Subject.visible SyntaxError:C:/Users/SS/Sites/simple_cms/app/models/subject.rb:7:syntax erro r,意想不到的'|' 範圍:搜索, - > {| query |在哪裏([「名稱LIKE?」,「%#{查詢}%」])} –
@SafiUllah我更新了這個例子的答案 –
我真的不能多謝你,先生@Michal。我覺得我失去了學習這門語言的機會。 非常感謝你...... –