帖子中的NoMethodError#show;

neh*_*rma 3 rails-migrations

我一直在学习铁路

http://guides.rubyonrails.org/getting_started.html.

我在控制器中执行保存数据时遇到错误.运行博客时出现的错误是: - nil:NilClass的未定义方法`title'

**

我的posts_controller.rb代码是

**

class PostsController < ApplicationController
def new
end
def create
@post=Post.new(params[:post].permit(:title,:text))
@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
Run Code Online (Sandbox Code Playgroud)

**

我的show.html.rb代码是

**

<p>
<strong> Title:</strong>
<%= @post.title %>
</p>
<p>
<strong> Text:</strong>
<%= @post.text %>
</p>
Run Code Online (Sandbox Code Playgroud)

**

create_posts.rb的代码

**

class CreatePosts < ActiveRecord::Migration
  def change
    create_table :posts do |t|
      t.string :title
      t.text :text

      t.timestamps
    end
end
Run Code Online (Sandbox Code Playgroud)

当我在create_posts中定义标题时,请帮助我解释为什么会出现此错误.

Ani*_*nil 15

之后定义的所有方法private只能在内部访问.移动show上面的方法private.并确保您有一个名为app/views/posts/show.html.erb的文件,而不是.rb

祝好运!