2015-09-07 29 views
1

我需要從用戶的客戶端頁創建新的事件和Event.visitor_id應USER.ID與paramethers(Rails)的

Event.rb

def create 
@event = current_user.owner_events.new(event_params) 
end 

protected 

def event_params 
params.require(:event).permit(:visitor_id) 
end 

我需要更正創建新模型實例低於這個觀點是不工作:

<%= link_to "Create event with this user", events_path(visitor_id: @user.id), method: :post %> 

我得到:ActionController的:: ParameterMissing在EventsController#創建

回答

1

試一下(你忘了加event鍵):

<%= link_to "Create event with this user", events_path(event: { visitor_id: @user.id }), method: :post %> 

有關詳細信息讀取'strong parameters' gem documentation

+0

這不起作用很好,但感謝你的鏈接。 – electrify

0

我不得不.to_i添加到@ user.id

<%= link_to "Create event", events_path(:event =>{:visitor_id => @user.id.to_i}), :method => :post %> 
+0

真的嗎?這不太可能是真的。你可以刪除'to_i'並重新檢查它嗎?我相信這是因爲沒有「事件」鍵。 – tiktak

+1

嗯,你是對的,現在它沒有.to_i的工作 – electrify