新手问题 我想知道官方 rails guide 有人走一遍没有

icloud · 2013年07月04日 · 最后由 icloud 回复于 2013年08月17日 · 2604 次阅读

官方的 4.0 guide http://guides.rubyonrails.org/getting_started.html

为什么我在这个地方卡住了,提示:Showing /Users/iCloud/blog/app/views/posts/show.html.erb where line #3 raised:

undefined method `title' for nil:NilClass

Extracted source (around line #3): <p> <strong>Title:</strong> <%= @post.title %>(提示这个地方不对) </p>

<p> <strong>Text:</strong> <%= @post.text %> </p>

更新:

发现问题所在 在 posts_controller.rb 中 def show def new def create 的排序要正确

同时,发现官方文档有个错误 5.6 Saving data in the controller 中 def create @post = Post.new(post_params) {应当将 post_params 改成 params[:post]} 按照文档做的时候是不会出现下面的错误提示的,so,要修改一下

看 action 里面,@post 怎么赋值。

输出必须是字符类型,你的没有找到值,所以是 NilClass 类型

官方 guide 很经典啊,我走了十几遍了

#3 楼 @mjf429 十几遍了。擦。这么吊炸天。

def show
  @post = Post.find(params[:id])
end

你 pry 一下你的 controller 里 @post是什么呗

#4 楼 @cisolarix 我每给新员工做一次培训就得讲一遍。。。

更新: 发现问题所在 在 posts_controller.rb 中 def show def new def create 的排序要正确

同时,发现官方文档有个错误 5.6 Saving data in the controller 中 def create @post = Post.new(post_params) {应当将 post_params 改成 params[:post]} 按照文档做的时候是不会出现下面的错误提示的,so,要修改一下

需要 登录 后方可回复, 如果你还没有账号请 注册新账号