2013-10-20 57 views
1

嗨,那裏我得到一個NoMethodError用戶#顯示錯誤在我的Rails 3.2應用程序使用設計。未定義的方法`firstname'爲零:NilClass

上我的節目低於2行錯誤:

<strong>Firstname:</strong> 
    <%= @user.firstname %> 
</p> 
<p> 
<strong>dateofbirth:</strong> 

(如果我刪除第一名稱框中它的出生日期錯誤等)

我使用的設計爲我的用戶,但生成了一個用戶控制器來放置我的視圖。

我不知道是什麼問題,因爲我跑我的遷移和名字在架構

存在這裏的用戶控制器:

class UsersController < ApplicationController 
# before_action :set_user, only: [:show, :edit, :update, :destroy] 

    def find 
    @user = User.new 
    end 

    def show 
    @user = User.find(params[:id]) 
    end 

    # GET /users 
    # GET /users.json 
    def index 
    @users = User.all 
    end 

    # GET /users/1 
    # GET /users/1.json 
    def show 
    end 

    # GET /users/new 
    def new 
    @user = User.new 
    end 

    # GET /users/1/edit 
    def edit 
    end 

    # POST /users 
    # POST /users.json 
    def create 
    @user = User.new(user_params) 

    respond_to do |format| 
     if @user.save 
     format.html { redirect_to @user, notice: 'User was successfully created.' } 
     format.json { render action: 'show', status: :created, location: @user } 
     else 
     format.html { render action: 'new' } 
     format.json { render json: @user.errors, status: :unprocessable_entity } 
     end 
    end 
    end 

    # PATCH/PUT /users/1 
    # PATCH/PUT /users/1.json 
    def update 
    respond_to do |format| 
     if @user.update(user_params) 
     format.html { redirect_to @user, notice: 'User was successfully updated.' } 
     format.json { head :no_content } 
     else 
     format.html { render action: 'edit' } 
     format.json { render json: @user.errors, status: :unprocessable_entity } 
     end 
    end 
    end 

    # DELETE /users/1 
    # DELETE /users/1.json 
    def destroy 
    @user.destroy 
    respond_to do |format| 
     format.html { redirect_to users_url } 
     format.json { head :no_content } 
    end 
    end 

    private 
    # Use callbacks to share common setup or constraints between actions. 
    def set_user 
     @user = User.find(params[:id]) 
    end 

    # Never trust parameters from the scary internet, only allow the white list through. 
    def user_params 
     params.require(:user).permit(:username, :firstname, :dateofbirth, :lastname, :gender, :location, :email, :password) 
    end 
end 
+0

嘗試擺脫底部的'def user_params' - 如果您不使用Rails 4,我認爲這不會做任何事情。 – dax

回答

0

你的控制器定義了兩種顯示方法。嘗試刪除第二個。我相信空的顯示方法會覆蓋您的填充顯示方法。在你看來,@user不存在,所以它的計算結果爲零。 Nil既沒有名字方法也沒有日期分娩方法。因此NoMethodError。

相關問題