-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。我觉得我失去了学习这门语言的机会。 非常感谢你...... –