2011-10-07 103 views
0

下面的代碼顯示了我想要完成的事情(顯示商店名稱和項目名稱)。但是當我替換@[email protected]_with_ids(62)@[email protected](params[:id])時,我得到一個錯誤Couldn't find Deal without an ID。我應該用什麼方法動態獲取交易ID?而商店模式有很多:通過。使用什麼而不是find_with_ids()?

控制器

@[email protected] 
    @[email protected]_with_ids(62) 
    @[email protected](params[:store_id]) 

視圖

<% @deal.each do |deal| %> 
    <%=deal.item_name %> 
    <%end%> 
    <%[email protected]_name %> 

回答

1

即錯誤意味着params[:id]是空的。檢查params哈希看到它所包含的內容,並確認你的行動是得到了預期的輸入。

你絕對使用.find方法如預期,所以我不認爲這是個問題。

+0

它不顯示任何參數,可以充分顯示了它得到了城市ID而不是交易 – katie

+0

是您的交易的東西包裹在一個形式?您的示例代碼並不顯示一個形式,如果有一個或足夠的信息,我可以告訴什麼東西被傳遞到操作。但是,也許我不需要看到這一點。基本上,在某個地方,交易的ID是沒有提交。它是偶然出現在「params [:deal_id]」中嗎? – jefflunt

+0

是它被包裹在form.no它不是在PARAMS [:DEAL_ID]雖然。 – katie

1

什麼

Deal.find(params[:id]) rescue nil 
+0

即使這樣也會返回相同的錯誤 – katie