0

私はRuby on Railsで書かれたプロジェクトで働いており、現在私のサイトのコンテンツマネージャーシステムにアクティブな管理者のgemを使用しています。アクティブな管理者が削除アクションをどのように使用しているか疑問に思っています。それを上書きしようとしていますが、コードは機能しません。特定の行を破棄する方法に問題があると思います

def destroy


  @menu = Menu.find(params[:menu_recipe][:menu_id])
  @menu_recipe = @menu.menu_recipes.find(params[:id])
  @menu_recipe.remove_recipe
  @menu_recipe.destroy
  redirect_to @reservation, :notice => "recipe destroyed"

      end  

のエラーが発生します

undefined method `[]' for nil:NilClass   
4

1 に答える 1

0

おそらくparams[:menu_recipe]設定されていません。最初に入れてみてくださいparams[:menu_recipe] ||= {}

Menuしかし、とにかく、なぜあなたはそれを通して見つけているのですか?'MenuRecipe.find(params [:id])'だけを実行することはできませんか?

于 2012-04-05T15:18:17.763 に答える