使用什么而不是find_with_ids()?

时间:2011-10-07 00:40:35

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

下面的代码显示了我想要完成的事情(显示商店名称和商品名称)。但是当我用@onedeal=@deal.find_with_ids(62)替换@onedeal=@deal.find(params[:id])时,我收到错误Couldn't find Deal without an ID。应该采用什么方法我用来动态获取交易ID?交易和商店模型之间的关系有很多:通过。

控制器

  @deal=@city.deals
  @onedeal=@deal.find_with_ids(62)
  @store=@onedeal.stores.first(params[:store_id])

视图

   <% @deal.each do |deal| %>
   <%=deal.item_name %>
   <%end%>
    <%=@store.store_name %>

2 个答案:

答案 0 :(得分:1)

该错误表示params[:id]为空。检查您的params哈希以查看它包含的内容,并验证您的操作是否获得了预期的输入。

您绝对是按预期使用.find方法,所以我认为这不是问题。

答案 1 :(得分:1)

怎么样?
Deal.find(params[:id]) rescue nil