2015-09-21 61 views
0

我有兩個控制器在我的應用程序事件和註冊。我想在事件顯示模板如何發送:event_id到一些其他控制器在rails

show.html.erb 

<%= form_for @registrations do |f| %> 

    <%= f.submit %> 

<% end %> 

registrations_controller表單提交後,發送當前事件的事項標識來註冊控制器

class RegistrationsController < ApplicationController 
    def create 
     @event = Event.find(params[:event_id]) 
    end 

,但它給了我下面的錯誤

cannot find event with id = 

我認爲這是事件和註冊不相關的d以任何方式。所以它給這個錯誤。 如何解決這個錯誤

+0

@NickM輸入錯誤 –

+0

您可以在表單提交時粘貼POST請求的服務器日誌嗎? –

+0

@NickM沒有得到你,因爲我是新來的鐵軌 –

回答

0

不知道更多有關模型協會,也什麼@registrations對象是,這是最簡單的解決方案: 隱藏字段添加到您的窗體:

<%= f.hidden_field(:event_id, @event.id) %> 
# assumes @event exists in the show action somewhere 

和控制器:

def create 
    @event = Event.find(params[:registrations][:event_id]) 
end 

如果你的模型是相關聯的,你可以這樣做:

<%= form_for @event.registrations.new %> 

但很難說,如果這將在您的應用程序基於提供的代碼工作。

相關問題