1

я прямо сейчас две модели (Там будет более позднее, для этого я использую один Polymorhpic модельRails 4 Как сохранить полиморфные отношения?

Polymorhpic таблица называется События, и модель имеет это:.

belongs_to :eventable, :polymorphic => true 

Тогда , то пользователей таблица, которая имеет много событий:

has_many :events, :as => :eventable 

В таблице пользователей таблица Разрабатывает, поэтому при создании события, я просто хочу, чтобы передать идентификатор пользователя и тип для событий:

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 определяется, так что это не проблема.

Должен ли я передавать параметры [: eventable_id] и params [: eventable_type]?

Если да, в каком формате должен быть eventable_type, чтобы он работал, когда я получаю события пользователей?

ответ

1

Всякий раз, когда вы звоните event_params вы строите новый хэш, вы должны держать его где-то, как в:

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)

Смежные вопросы