当调用'new'动作时,RoR“未定义方法`标题'”

时间:2011-11-04 22:03:26

标签: ruby-on-rails ruby

我是rails的新手,正在关注Apress的“Beginning Rails 3”一书。 我按照书中的指示创建了一个文章控制器和一个文章模型,搭建和迁移。

我的代码与本书中链接的源代码相同: http://cloud.github.com/downloads/ccjr/blog/chapter04.zip

唯一的区别是在articles_controller.rb文件中,而不是xml我有json 例如,在我的articles_controller.rb中有

format.json { render json: @articles }

在“他们的”中会有

format.xml  { render :xml => @articles }

这让我觉得存在兼容性问题,或者我安装错误。

无论如何,这是我得到的完整错误

undefined method `title' for #<Article id: nil, created_at: nil, updated_at: nil>

提取的来源(第16行):

13: 
14:   <div class="field">
15:     <%= f.label :title %><br />
16:     <%= f.text_field :title %>
17:   </div>
18:   <div class="field">
19:     <%= f.label :body %><br />

3 个答案:

答案 0 :(得分:2)

您的title模型中似乎缺少Article属性。您确定要准备所有迁移吗?尝试rails console命令,然后在此控制台中输入Article.column_names并检查它们 - 是否有title列?并检查db / migrations文件夹中的文件。

答案 1 :(得分:2)

你运行了db:migrate吗?

信息很清楚;还没有“标题”方法/属性。

答案 2 :(得分:-1)

据我所知,format.json { render json: @articles }中有错误。试试format.json { render :json => @articles }