2013-02-25 3 views
1

나는 장치와 인증 된 로그인을 가지고 있습니다 ... 아이디어는 사용자가 여러 연락처를 가지고 있습니다 ... 연락처 클래스의 이름과 번호가 속성으로 ... 있지만 시도 할 때 연락처를 만들려면 "unknown attribute: user_id"이라는 오류가 발생합니다 ... 어디서 잘못 될까요 ??알 수없는 속성 오류 레일

class Contact < ActiveRecord::Base 
    belongs_to :user 
    attr_accessible :name, :number, :user_id 
end 

연락처 컨트롤러 :

class ContactsController < ApplicationController 

    def new 

    end 

    def show 
    @contacts=current_user.contacts 
    @contacts.save 
    end 

    def index 
    @contact=current_user.email_id 
    end 

    def create 
# @contact=contacts.new 
    @contact= current_user.contacts.build(:name=> params[:name] , :number=>params[:number]) 
    @contact.save 
    redirect_to contacts_show_path 
    end 

end 
+0

> C = User.last > A = c.contacts.build 레일 콘솔에서 (: 이름 => "바라 스"수 => 12345)도 그냥 한 번 확인에 동일한 오류 –

+0

를 얻을 수 연락처 테이블에 user_id 열이 있습니까? –

+0

아니요 .it에는 user_id 열이 없습니다. –

답변

1

당신에게 나는

연락 모델 .. 문의 모델에 user_id을 추가 ...하지만 여전히 오류가 ... 도움이 많이 주시면 감사하겠습니다 점점 ​​시도 사용자 모델에 has_many :contacts을 추가하고 주소록 이전 파일에 'user_id'열을 추가해야합니다.

class User < ActiveRecord::Base 
    has_many :contacts 
end 
+0

rails 마이그레이션 생성 AddUser_idColumnToUsers user_id : 정수 ?? 그런 다음 마이그레이션을 수행해야합니까 ?? –

+0

필드를 추가하는 데 문제가있었습니다 .i jus는 필드가있는 새 모델을 만들었고 작동했습니다. –

+0

메기에 대한 질문이 있습니다. ..... 왜 has_many를 Contact 모델로 추가할까요? ... 생각합니다. 사용자가 많은 연락처를 가지고 있으므로 사용자 모델에 추가해야합니다. –