首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Topics#new中的内容(nil:NilClass的未定义方法‘NoMethodError’)中的Rails 3的内容。

Topics#new中的内容(nil:NilClass的未定义方法‘NoMethodError’)中的Rails 3的内容。
EN

Stack Overflow用户
提问于 2011-09-06 07:20:52
回答 2查看 1.4K关注 0票数 0

我一直在net.tutsplus Forum tutorial上学习本教程,但我遇到了一些问题。评论都变成了垃圾邮件,这篇文章已经被遗忘了。

我遵循了这个教程,在发布一个新主题时,我得到了以下内容:

代码语言:javascript
复制
NoMethodError in Topics#new

Showing /var/www/app/views/topics/_form.html.erb where line #9 raised:

undefined method `content' for nil:NilClass

Extracted source (around line #9):

6:     <%= f.text_field :name %>  
7:   </p>  
8:   <p>  
9:     <textarea name="post[content]" cols="80" rows="20"><%= @post.content %></textarea>  
10:   </p>  
11:   <p><%= f.submit "Create" %></p>  
12: <% end %>  

Trace of template inclusion: app/views/topics/new.html.erb

我的模型/控制器和视图已经按照本教程的指导创建了。

你能帮上忙吗?

EN

回答 2

Stack Overflow用户

发布于 2011-09-06 08:39:09

从错误报告中显式地 @post为nil,因此您不能对其调用.content

因为您正在调用一个新的操作,所以您可能只是在控制器中缺少@post = Post.new

我不熟悉本教程,但我建议使用更像第6行的内容重构字段第9行,它使用rails表单帮助器方法。即

代码语言:javascript
复制
<%= f.text_area :content, :cols => 80, :rows => 20 %>
票数 1
EN

Stack Overflow用户

发布于 2013-04-01 15:22:43

您的post对象未初始化,您必须执行以下操作

代码语言:javascript
复制
@post = Post.new

在此之前。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7313523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档