2014-12-11 6 views
0

나는 계속이 NoMethodError 문제를 해결할 수 있습니까?NoMethodError in customer # 체크 아웃

class CustomerController < ApplicationController 

def checkout 
    @customer = Customer.new 
end 

def create 
    @customer = Customer.new(customer_params) 
    render :confirm 
end 

def confirm 
end 

private 

def customer_params 
    params.require(:customer).permit(:full_name, :email, :account_number, :disclaimer) 
end 

end 

그리고 이것은 내 customer.rb에 있습니다 :

validates_presence_of :full_name, 
        :email, 
        :account_number, 
        :disclaimer 

<%= form_for(@customer, as: 'customer', url: {action: "create"}) do |f| %> 

    <%= f.label :full_name, 'Name', :class => 'checkout-label' %> 

    <%= f.text_field :full_name, :placeholder => 'Name', :class => 'checkout-input', :required => true %> 

<% end %> 

여기 내 customer_controller.rb에 열거 된 내용은 다음과 같습니다

undefined method `full_name' for #<Customer:0x007fb3d2c672c0> 

내 HTML입니다

어디에서 메서드를 정의하지 않습니까?

+0

고객의 모델은 무엇입니까 :

rails g migration add_first_name_to_customers first_name:string 

그런 다음 데이터베이스를 마이그레이션? –

+5

'db/schema.rb'에 무엇이 있습니까? – astephenb

+0

속성을 생성하기 위해 마이 그 레이션을 생성했지만, 이제'rake db : migrate'를 실행했을 때 :'schema_migrations'에 대한 허가가 거부되었습니다. – Francine

답변

0

first_name 속성을 만들려면 이전을 실행해야합니다. 이 시도 :

rake db:migrate 
+0

정말로, 나는했다! 하지만 이제'rake db : migrate'를 실행할 때이 오류가 발생합니다 : '관계 스키마에 대한 사용 권한이 거부되었습니다 .' – Francine

+0

어떤 데이터베이스를 사용하고 있습니까? 포스트그레스를 사용하고 있다면 psql 역할을 추가하지 않았기 때문에이 오류가 표시 될 수 있습니다. 이 질문을보십시오. http://stackoverflow.com/questions/17013292/pgerror-error-permission-denied-for-relation-schema-migrations –