我正在做铁轨的初学者练习。我正在创建一个在数据库中创建新文章的应用程序。我有:
class CreateArticles < ActiveRecord::Migration[5.2]
def change
create_table :articles do |t|
t.string :title
t.text :body
t.timestamps
end
end
end
运行Article.string
时,收到以下消息:
NoMethodError (undefined method `title=' for #<Article:0x00007f8d5d4d6100>)
该应用似乎无法识别方法string
和text
。
我正在使用ruby 2.5.3。本教程使用2.2。这可能是这个问题吗?
答案 0 :(得分:0)
尝试此命令
rails g model Article title:string body:text
但是我认为问题在于您提到的方法Article.string
。难道您是要执行Article.all
而不是从数据库查询articles表中的所有记录?
答案 1 :(得分:0)
运行
article = Article.new
article.title => nil
article = Article.new
article.title = 'Your name'
article.body = 'Some text'
article.save
因为标题可以由任何使用ORM的文章实例访问。
此处字符串是列标题的数据类型。不是方法
PS:如果出现迁移错误,请运行rake db:migrate。
答案 2 :(得分:0)
谢谢大家。出于某种原因,将Ruby版本降级可以解决此问题。