2015-03-13 67 views
0

我有一個搜索控制器,我可以從params中獲取客戶端。來自hidden_​​field的Rails參數不會傳遞給控制器​​

def show 
    @client = Client.find(params[:id]) 
    @training_session = @client.training_sessions.new 
end 

在窗體我想通過CLIENT_ID值:

<%= form_for @training_session do |f| %> 
    <% binding.pry %> 
    <%= f.hidden_field :client_id, value: @client.id %> 

但training_sessions_controller PARAMS [:CLIENT_ID]爲零。

private 
def find_client 
    binding.pry 
    @client = Client.find(params[:client_id]) 
end 

爲什麼client_id參數不能從表單傳遞?

回答

2

首先看看由視圖生成的HTML表單。 然而,在你的控制器,你應該讓你的客戶ID爲:

training_session_params = params.require(:training_sessions).permit(:client_id) 

client_id = training_session_params[:client_id] 

因爲形式的TrainingSession模型而不是客戶端之一創建。

相關問題