2016-06-17 25 views
0

私はhas_oneの関係を使用していますが、エラーが発生しています。 createメソッドは、createを使用してパラメータを検索していません。VerificationsControllerのNoMethodError#create(has_one関係)

エラーログ:

NoMethodError (undefined method `create' for #<Verification:0x007fcb71e2bd98>): 
    app/controllers/verifications_controller.rb:7:in `create' 

verificationsController:

def create 
    @user = User.find(params[:user_id]) 
    @verification = current_user.verification.create(verification_params) 
end 


private 
     def verification_params 
      params.require(:verification).permit(:user_id, :paypal_firstname, :paypal_lastname, :paypal_email, :paypal_verified) 
     end 

路線:

devise_for :users , 
     :path => '' , 
     :path_names => {:sign_in => 'login', :sign_out => 'logout', :edit => 'profile'}, 
     :controllers => {:omniauth_callbacks => 'omniauth_callbacks', 
       :registrations => 'registrations', :verifications => 'verifications' 
       } 


resources :users, only: [:index, :show] do 

end 

resources :users do 
    resources :verifications, only: [:create] 
end 

get '/users/:id/paypal_verification' => 'users#paypal_verification' 
patch '/users/:id/paypal_verification' => 'users#paypal_verification' 

がUserController:

def paypal_verification 
    # @verification = @user.verification.new 
    @user = current_user 
@verification = Verification.create(params[:verification]) 
@user.verification = @verification 
end 
+0

"[MCVE]" をお読みください。また、正しい/正しい文法と書式設定は、私たちが答えを出し、他の人があなたの質問を理解するのに役立つので、非常に重要です。 –

答えて

関連する問題