0

ユーザーの NoMethodError#show

エラー: nil:NilClass の未定義のメソッド `name'

私は Hartl の Rails 4.0 用の Rails チュートリアルに従ってきましたが、ここ数日間、これに固執しています。このエラーは、「show.html.erb ファイル」の問題として行 1 を強調表示します。また、ruby の「private」キーワードが機能しないため、「users_controller.rb」でハッシュ化して、エラーを停止しました。どんな助けにもとても感謝しています。ありがとう。

アプリ/ビュー/show.html.erb

<% provide(:title, @user.name) %>
<div class="row">
  <aside class="span4">
    <section>
      <h1>
        <%= gravatar_for @user %>
        <%= @user.name %>
      </h1>
    </section>
  </aside>
</div>

users_controller.rb

class UsersController < ApplicationController
  def new
  @user = User.find(params[:id])
  end

  def new
    @user = User.new

        def create
    @user = User.new(user_params)
    if @user.save
      flash[:success] = "Welcome to the Sample App!"
      redirect_to @user
    else
      render 'new'
    end
  end

  #private

    def user_params
      params.require(:user).permit(:name, :email, :password,
                                   :password_confirmation)
    end
end
end
4

2 に答える 2

2

コードに 2 つの問題があります。

最初: という名前newの 2 つの関数があります。最初の関数はshowです。

second : 2 番目の関数の最後で失敗endしました (コントローラーの末尾から移動します)。

于 2013-09-10T11:56:09.310 に答える