我有一個行爲,它將通過link_to包含供應商類的.id。如何將URL中的ID傳遞給Ruby中的form_tag?
該操作是針對不同控制器進行評論的new()修改需要將來自URL的ID值和會話[:user_id]傳遞到數據庫中。
如何獲取vendor.id的值?是否有可能不通過URL傳遞它,而是將它放在閃存中?
我是否使用隱藏值來傳遞會話[:user_id]?
我有一個行爲,它將通過link_to包含供應商類的.id。如何將URL中的ID傳遞給Ruby中的form_tag?
該操作是針對不同控制器進行評論的new()修改需要將來自URL的ID值和會話[:user_id]傳遞到數據庫中。
如何獲取vendor.id的值?是否有可能不通過URL傳遞它,而是將它放在閃存中?
我是否使用隱藏值來傳遞會話[:user_id]?
我假設你可以從控制器操作中以params[:id]
的身份訪問它?如果是這樣,您應該能夠在視圖中以params[:id]
的身份訪問它。同上session[:user_id]
。
編輯:我想我可能誤解了你的問題。你是否想通過表單發回ID?或者可能沒有在網址中的ID?
如果您要在控制器之間傳遞參數,通常應該將其作爲參數傳遞。
<%= link_to "Link to other controller", other_path(@other, :some_param => param_value) %>
在你鏈接(這裏的節目)的動作,你就可以訪問:some_param爲PARAMS [:some_param]。
從表單開始,包含隱藏字段(只要您稍後檢查是否有效,因爲用戶可以提交任何內容)。
無論採用哪種方式,都不要使用閃存來存儲會話狀態 - 閃光燈僅用於用戶消息。
如果has_many關係(例如vendor has_many reviews),我仍然可以使用review_path然後傳遞vendor_id => @ vendor.id嗎? – AFG 2009-04-18 18:49:04
是的,我確實有傳遞給新的ID,但它沒有通過表單傳遞。我應該只使用隱藏的值嗎?似乎這就是人們的建議...雖然這不是特別的RESTful ... – AFG 2009-04-21 02:12:51