为什么会出现语法错误,意外出现“}”,并期望带有范围的keyword_end?

埃里克·洛伯(EricLowber)

我是一个初学者,并且已经学习Ruby on Rails大约10周了。尝试在我的一个模型上运行RSpec测试时,出现以下错误:

rb:4:语法错误,意外的'}',期望使用keyword_end

看来我的括号已关闭,我已经正确结束了。

class Item < ActiveRecord::Base
  belongs_to :list

  scope :created_after, -> (7.days.ago) { where("item.created_at > ?", 7.days.ago) }

 end

范围的目的是能够将7天以上的项目与上周写入的项目区分开。

这是我的列表模型架构:

  create_table "items", force: true do |t|
    t.string   "body"
    t.integer  "list_id"
    t.boolean  "done",       default: false
    t.datetime "created_at"
    t.datetime "updated_at"
  end`

我看过《 Rails指南》并进行了反复搜索,但找不到任何可以告诉我当前语法错误的信息。有任何想法吗?

皮特

问题在于您如何定义lambda。在您刚开始学习Ruby&Rails时,我建议您阅读本文以了解lambda是什么,它们如何操作以及语法是什么。放在方括号中的代码应该是可以传递给lambda的变量名,而不是日期的定义。例如您的代码:

scope :created_after, -> (7.days.ago) { where("item.created_at > ?", 7.days.ago) }

应该:

scope :created_after, -> (date) { where("item.created_at > ?", date) }

这样,您可以Items像这样创建查询

new_items = Item.created_after(7.days.ago) # or..
newer_items = Item.created_after(3.days.ago) # or...
new_done_items = Item.where(done: true).created_after(7.days.ago) # etc

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么会出现语法错误,出现意外的“}”,并期望带有范围的keyword_end?

来自分类Dev

为什么会出现错误?(语法错误,意外的keyword_true)

来自分类Dev

Ruby代码具有语法错误,意外的keyword_end,期望输入结束

来自分类Dev

如果我不在AWK的END块中写'if',为什么会出现语法错误?

来自分类Dev

如果我不在AWK的END块中写'if',为什么会出现语法错误?

来自分类Dev

Ruby On Rails:创建新记录会出现错误:语法错误,意外的“,”,期望输入结束

来自分类Dev

当我尝试打印包含带有冒号的键的嵌套哈希时,为什么会出现语法错误?

来自分类Dev

语法错误,非预期的'{',期望使用keyword_end

来自分类Dev

语法错误,启动Sidekiq后出现意外的keyword_end

来自分类Dev

语法错误,意外的keyword_do_block,期望keyword_end ...关闭

来自分类Dev

语法错误,意外的keyword_ensure,在我的应用程序中期望keyword_end

来自分类Dev

意外的keyword_end,期望输入结束

来自分类Dev

Rspec意外的keyword_end,期望为'}'

来自分类Dev

Rails的Heroku错误:语法错误,意外的keyword_end,期望输入结束

来自分类Dev

Yii-语法错误,出现意外的';',期望出现')'

来自分类Dev

Ruby语法错误-意外的输入结束,期望使用keyword_end

来自分类Dev

语法错误,意外的输入结束,期望使用keyword_end红宝石

来自分类Dev

语法错误,意外的一元+,期望keyword_end

来自分类Dev

红宝石语法错误,意外的keyword_end,期望输入结束(SyntaxError)

来自分类Dev

Rails 4.1,Ruby 2.1,Devise,为什么在我的.where()中出现“语法错误,意外的tConstant”且有多种情况?

来自分类Dev

Rails 4.1,Ruby 2.1,Devise,为什么在我的.where()中出现“语法错误,意外的tConstant”且有多种情况?

来自分类Dev

为什么会出现“ SQLSTATE [42000]:语法错误或访问冲突:1064您的SQL语法有错误...”?(PDO-PHP)

来自分类Dev

SyntaxError意外的keyword_ensure,期望keyword_end

来自分类Dev

Ruby-意外的keyword_when,期望keyword_end

来自分类Dev

Ruby意外的$ end,期望值为keyword_end

来自分类Dev

Rails意外出现语法错误')'

来自分类Dev

出现Rails错误“语法错误,意外的tSYMBEG,期望使用keyword_do或'{'或'('“

来自分类Dev

为什么在此示例代码中没有出现语法错误?

来自分类Dev

为什么我有“意外的令牌语法错误”

Related 相关文章

  1. 1

    为什么会出现语法错误,出现意外的“}”,并期望带有范围的keyword_end?

  2. 2

    为什么会出现错误?(语法错误,意外的keyword_true)

  3. 3

    Ruby代码具有语法错误,意外的keyword_end,期望输入结束

  4. 4

    如果我不在AWK的END块中写'if',为什么会出现语法错误?

  5. 5

    如果我不在AWK的END块中写'if',为什么会出现语法错误?

  6. 6

    Ruby On Rails:创建新记录会出现错误:语法错误,意外的“,”,期望输入结束

  7. 7

    当我尝试打印包含带有冒号的键的嵌套哈希时,为什么会出现语法错误?

  8. 8

    语法错误,非预期的'{',期望使用keyword_end

  9. 9

    语法错误,启动Sidekiq后出现意外的keyword_end

  10. 10

    语法错误,意外的keyword_do_block,期望keyword_end ...关闭

  11. 11

    语法错误,意外的keyword_ensure,在我的应用程序中期望keyword_end

  12. 12

    意外的keyword_end,期望输入结束

  13. 13

    Rspec意外的keyword_end,期望为'}'

  14. 14

    Rails的Heroku错误:语法错误,意外的keyword_end,期望输入结束

  15. 15

    Yii-语法错误,出现意外的';',期望出现')'

  16. 16

    Ruby语法错误-意外的输入结束,期望使用keyword_end

  17. 17

    语法错误,意外的输入结束,期望使用keyword_end红宝石

  18. 18

    语法错误,意外的一元+,期望keyword_end

  19. 19

    红宝石语法错误,意外的keyword_end,期望输入结束(SyntaxError)

  20. 20

    Rails 4.1,Ruby 2.1,Devise,为什么在我的.where()中出现“语法错误,意外的tConstant”且有多种情况?

  21. 21

    Rails 4.1,Ruby 2.1,Devise,为什么在我的.where()中出现“语法错误,意外的tConstant”且有多种情况?

  22. 22

    为什么会出现“ SQLSTATE [42000]:语法错误或访问冲突:1064您的SQL语法有错误...”?(PDO-PHP)

  23. 23

    SyntaxError意外的keyword_ensure,期望keyword_end

  24. 24

    Ruby-意外的keyword_when,期望keyword_end

  25. 25

    Ruby意外的$ end,期望值为keyword_end

  26. 26

    Rails意外出现语法错误')'

  27. 27

    出现Rails错误“语法错误,意外的tSYMBEG,期望使用keyword_do或'{'或'('“

  28. 28

    为什么在此示例代码中没有出现语法错误?

  29. 29

    为什么我有“意外的令牌语法错误”

热门标签

归档