2011-12-09 78 views
0

控制器這就是我在我的下拉列表顯示該用戶的電子郵件如何從一種形式USER_ID在軌

 <%= collection_select(:user, :id, User.all(:conditions => ["company_name=?", $company]), :user_id, :email, :prompt=>'Select a User') %> 

這是正在生成的參數:

 Parameters: {"commit"=>"Submit", "utf8"=>"✓", "from_date"=>"December 7, 2011 6:45 AM", "to_date"=>"December 9, 2011 7:45 AM", "user"=>{"user_id"=>"12"}} 

一旦擊中提交按鈕它必須在user_id幫助下顯示詳細信息,並且我的控制器的索引功能看起來像這樣:

 def index 
     if (!params[:user][:user_id].nil?) 
     user_id = params[:user][:user_id] 
     else 
     user_id = current_user.id 
     end 

但我得到一個錯誤這樣的:

 You have a nil object when you didn't expect it! 
     You might have expected an instance of Array. 
     The error occurred while evaluating nil.[] 

出了什麼問題,請幫助 在此先感謝

+0

這段代碼複製粘貼或你寫下來,就像你記得它?因爲它裏面有一些奇怪的部分,...你也是一個前PHP開發人員嗎?^^ – davidb

+0

'$ company'是什麼? – maprihoda

+0

其當前登錄用戶的公司名稱 –

回答

0

如果PARAMS [:用戶]爲零的「PARAMS [:用戶] [:USER_ID] .nil raise exeption「need:

unless params[:user].nil? and params[:user][:user_id].nil? 
.... 
else 
.... 
end 
+0

謝謝你的幫助我 –