1

내가 지금 두 모델이 (가 나중에 될, 그 때문에 나는 하나를 사용합니다 Polymorhpic 모델레일 4 폴리모픽 관계를 저장하는 방법은 무엇입니까?

호출되는 Polymorhpic 테이블 이벤트, 하고 모델이 있습니다. 그런 다음

belongs_to :eventable, :polymorphic => true 

을 많은 이벤트가있는 사용자 테이블 :

has_many :events, :as => :eventable 

사용자 테이블이 고안 테이블입니다, A 이벤트가 생성 될 때, 나는 단순히 이벤트에 사용자 ID를 입력 전달하려는 : 이벤트가 저장됩니다

def create 
    event_params[:eventable] = current_user 
    @event = Event.new(event_params) 
    if @event.save 
     redirect_to @event 
    else 
     render text: @event 
    end 
end 
private 
    def event_params 
     params.require(:event).permit(:name, :text, :start_date, :end_date, :eventable) 
    end 

을,하지만 난합니다 ... eventable 필드가 작성

CURRENT_USER을하지 않습니다 그래서 문제가되지 않습니다.

params [: eventable_id] 및 params [: eventable_type] 설명서를 전달해야합니까?

그렇다면 어떤 형식으로 eventable_type을 사용해야합니까? 그러면 사용자 이벤트를받을 때 작동합니까? 당신은 당신이 새로운 해시를 구축하는 event_params 호출 할 때마다

답변

1

, 당신은 같이 어딘가에 보관해야합니다 나는 좋을 것

current_params = event_params 
current_params[:eventable] = current_user 
@event = Event.new(current_params) 
if @event.save 
    redirect_to @event 
else 
    render text: @event 
end 
+0

이가 있었다! 좋아요, 선생님, 고마워요! –

1

:

@event = current_user.build_event(event_params)