2017-10-26 20 views
0

하면 ArgumentError 작동하지 belongs_to. 아직 정의 되었습니까?레일 협회의 has_many와도 연관이 이름을 '고객'을 찾을 수 없습니다 ProposalsController 번호 지수</p> <p>에

이 오류는 앱에서 발생합니다. 해결책을 찾을 수 없습니다. 어떤 아이디어? 여기

class Document < ActiveRecord::Base 
    has_paper_trail 

    belongs_to :client 

    accepts_nested_attributes_for :clients, allow_destroy: true, reject_if: :all_blank 

    validates :name, presence: true 
end 

class Client < ActiveRecord::Base 
    has_paper_trail 

    has_many :documents 

    accepts_nested_attributes_for :documents, allow_destroy: true, reject_if: :all_blank 

end 

문서에 대한 컨트롤러입니다 : 내가 문서에 대한 DB에 "CLIENT_ID"를 뒀다

def index 
    if current_user.admin? 
     @documents = Document.paginate(page: params[:page], :per_page => 20) 
    else 
     @documents = Document.where("user_id = ?", current_user).paginate(page: params[:page], :per_page => 20) 
    end 
    end 
  1. 여기

    는 조동사입니다.
  2. 두 제어기 모두에 안전한 모든 매개 변수를 넣었습니다.
+1

당신이'ProposalsController #의 index'에서 코드를 포함 할 수있는 belongs_to 때문에 귀하의 경우 :clients

accepts_nested_attributes_for에 단수해야 하는가? 여기 정의에 따르면'document.client'는 호출 할 수 있지만'document.clients'는 호출 할 수 없습니다. – Julie

+0

@Julie가 방금 추가되었습니다. 하지만 try/documents/new error가 ProposalsController # new가 아닌 ​​경우. 컨트롤러의 모든 메소드에 대해 발생합니다. – DanielsV

답변

1

거의 세부 정보가 누락되었습니다. 항상 인터프리터/컴파일러가 말하는대로 따라하고 무엇이 잘못되었는지 찾아 낼 수 있습니다. 이

class Document < ActiveRecord::Base 
    has_paper_trail 

    belongs_to :client 

    accepts_nested_attributes_for :client, allow_destroy: true, reject_if: :all_blank 

    validates :name, presence: true 
end