我是RoR的初學者(8小時大),面臨着我無法逾越的問題。在他們網站上的入門指南中介紹的教程通過設置帖子輸入示例。我得到以下錯誤:Ruby on Rails錯誤顯示發佈時間
NoMethodError in Posts#show
Showing /Users/khalidalghamdi/blog/app/views/posts/show.html.erb where line #3 raised:
undefined method `title' for nil:NilClass
Extracted source (around line #3):
1
2
3
4
5
6
<p>
<strong>Title:</strong>
<%= @post.title %>
</p>
<p>
Rails.root: /Users/khalidalghamdi/blog
Application Trace | Framework Trace | Full Trace
app/views/posts/show.html.erb:3:in `_app_views_posts_show_html_erb__4427112910992919114_2164032300'
Request
Parameters:
{"id"=>"4"}
,這是教程鏈接http://guides.rubyonrails.org/getting_started.html和我下面第5.6節。它沒有在show.html.erb頁面中顯示發佈的詳細信息。我究竟做錯了什麼?
更新:控制器代碼:
class PostsController < ApplicationController
def new
end
def create
@post = Post.new(post_params)
@post.save
redirect_to @post
end
private
def post_params
params.require(:post).permit(:title, :text)
end
def show
@post = Post.find(params[:id])
end
end
你可以發佈你的控制器代碼嗎? – Pavan
@Pavan添加到問題 – spacemonkey
@spacemonkey檢查我更新的答案。 –