2016-07-07 2 views
-1

모델 중 하나가 다른 2와 연관되어 있지만 서로 연관이없는 3 개의 모델간에 연관을 생성하려고합니다. 나는 하나의 올바른 길이었고 2 개 모델 (양조장 및 레스토랑)에 대한 데이터를 만들 수 있지만 localhost에서 사용할 때 세 번째 모델 (맥주)을 올바르게 저장할 수없고 다른 모델과 연관되지 않을 것이라고 생각했습니다.레일즈에서 3 개의 모델 간의 하나의 연관

모델은 내가 이것은 beers_controllers 방법을 참조 로컬 호스트

Error Message 을 통해 새로운 맥주를 만들려고 할 때마다 나는 또한 오류가

class Beer < ActiveRecord::Base 
    belongs_to :brewery 
    belongs_to :restaurant 
    validates :brewery, presence: true 
    validates :restaurant, presence: true 
    validates :name, presence: true 
end 

class Brewery < ActiveRecord::Base 
    has_many :beers 
    validates :name, presence: true 
end 

class Restaurant < ActiveRecord::Base 
    has_many :beers 
    validates :name, presence: true 
end 

있습니다.

def create 
    @brewery = Brewery.find(params[:brewery_id]) 
    @beer = @brewery.beers.create(beer_params) 
    redirect_to @beer 
end 

내가 쓸모없는 것으로 생각할 수있는 모든 것을 시도했으며, 내가보고있는 구문 오류 일 뿐이라고 걱정합니다. 어떤 충고라도 좋아할 것입니다.

+0

맥주 양식을 알려주십시오. –

답변

1

params [: brewery_id]가 nil이므로이 오류가 발생합니다. 더 자세한 정보가 없으면 나는 추측 할 수 있지만 맥주가 양조장과 식당에 속하는 것을 원하지 않는다고 생각합니다. 이렇게 할 때마다 맥주에는 양조장과 식당이 매번 필요합니다. 당신은 아마도 맥주처럼 더 많은 것을 원할 것입니다. 맥주는 맥주를 통해 많은 장소를 가지고 있습니다. 개최지에는 많은 맥주가 있습니다. 장소에는 맥주를 통해 많은 맥주가 있습니다. 그런 다음 venues 클래스에서 단일 테이블 상속을 사용하여 레스토랑이나 양조장 유형 컬럼을 제공 할 수 있습니다.

+0

나는 맥주가 다형성 협회 여야한다고 생각한다. – oreoluwa

+0

맥주가 가능한 장소? 나는 그것도 볼 수 있었다. –

+0

좋아요. 나는 이것을 줄 것이다. 고맙습니다. –

관련 문제