【问题标题】:Ruby on Rails demo app syntax error using scaffold使用脚手架的 Ruby on Rails 演示应用程序语法错误
【发布时间】:2012-08-28 21:35:55
【问题描述】:

我是 Ruby on Rails 的新手,我正在按照 Railstutorial 使用 Scaffold 制作演示应用程序。

首先,当我使用脚手架添加用户模型时,它运行良好。然后,当我添加 micropost 模型时,我一直收到以下错误:

/demo_app/app/models/micropost.rb:4: syntax error, unexpected ':', expecting keyword_end
  belongs_to: user

我注意到脚手架生成的代码与教程中显示的代码不同。这是用户和微博模型:

class User < ActiveRecord::Base
  attr_accessible :email, :name
  has_many :microposts
end

class Micropost < ActiveRecord::Base
  attr_accessible :content, :user_id

  belongs_to: user

  validates :content, :length => { :maximum => 140 }
end

教程中没有attr_accessible 行。这到底是什么,这是问题所在吗? 我已经运行了 Rake 程序以及提到的所有其他内容。

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 railstutorial.org


    【解决方案1】:

    应该是belongs_to :user。你最好使用一些带有高亮显示的文本编辑器

    【讨论】:

      【解决方案2】:

      错误消息说明了您需要知道的任何内容。

      • 查看 micropost.rb 的第 4 行
      • 搜索“:”

      应该是belongs_to :user 而不是belongs_to: user

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-06-03
        • 1970-01-01
        • 2015-03-03
        • 2011-12-18
        • 2021-09-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多