2017-08-15 53 views
2

我通过rails命令插入数据时遇到了问题。贝娄你可以看到我的模型和问题。标题甚至显示为零,我用标题哈希创建了一个Post的新实例。我知道你可以用不同的方式做到这一点。我正在使用这个简单的例子来找出为什么我不能从数据库插入或显示数据。通过rails命令将数据插入数据库的问题

型号

category.rb

class Category < ApplicationRecord 
    attr_accessor :name 
    has_many :posts 
end 

post.rb

class Post < ApplicationRecord 
    attr_accessor :title, :body, :category_id, :author_id 
    belongs_to :category 
end 

Rails的Ç

post = Post.new(:title => 'Test') 
=> #<Post id: nil, title: nil, body: nil, category_id: nil, author_id: nil, created_at: nil, updated_at: nil> 
+0

查看'attr_accessor'(ruby level)与'attr_accessible'(rails level)的区别:https://stackoverflow.com/questions/3136420/difference-between-attr-accessor-and-attr-accessible – MrYoshiji

+0

I当我使用attr_accessible时得到这个错误 未定义的方法'attr_accessible'为#你的意思是? attr_accessor – Mahir

+0

看到第一个回答的评论,因为他们解释了为什么它不适用于Rails 4+ – MrYoshiji

回答

1

你不应该在你的Rails类中使用attr_accessor。 Rails自动使这些属性可读,并且通常只应通过将记录保存到数据库来进行写入。

+0

非常感谢。它现在有效:D – Mahir