2012-04-03 13 views
0

を作成コントローラに渡し、私はメソッドを作成オーバライドしようとしているレシピやメニューイムを移入が、私がしようとするこれまでのとき、それはアクティブな管理collection_selectとオーバライド方法

<%= semantic_form_for [:admin, @menu_recipe] do |f| %> 

<p> 
<%= f.collection_select :recipe_id, 
    Recipe.all,:id,:name,:prompt => true%> 
</p> 
<p> 
<%= f.collection_select :menu_id, 
    Menu.all,:id,:name,:prompt => true%> 
</p> 
<%= f.buttons :commit %> 
<%end%> 

を働いていない私のactiveadmin内のリストドロップダウンリストを持っていますそれは私が上書きCouldn't find Recipe without an ID error

私のアクティブな管理コントローラが付属して、キャッチし、それを作成したり、グループは

ActiveAdmin.register MenuRecipe do 
    menu :parent => "Manage Package" 

    form :partial => "menu_recipe" 

    controller do 
     def new 
     new! do |format| 
      @menu_recipe = MenuRecipe.new 
     end 
     end 

     def create 
     create! do |format| 
      recipe = Recipe.find(params[:recipe_id]) 
      menu = Menu.find(params[:menu_id]) 
      @menu_recipe = @menu.add_recipe(menu.id) 

      if @menu_recipe.save 
      redirect_to {admin_menu_recipe_url} 
      end 
     end 
     end 
    end 

end 

イムです私はそれを正しくやっている?何かが必要な場合は、事前に感謝をお願いします。

+0

ある時は 'あなたがcreate'方法'で '@のmenu'を使用し、別の時間をmenu'。多分これは問題ですか? –

+0

@GrzegorzŁuszczekでも 'menu = Menu.find(params [:menu_id])'を '@menu = Menu.find(params [:menu_id])'に変更しても同じです:( – Led

答えて

0

私はレシピIDを取得していると思います。私は多分paramsをデバッグし、実際の値が何であるかを見ています。

あなたはこのような何かをする必要があるかもしれません:使用

params[:menu_recipe][recipe_id] 
関連する問題