активный администратор, сохраняющий выбор из collection_select и передающий контроллеру - PullRequest
1 голос
/ 02 апреля 2012

Привет, я использую активный администратор для моего приложения. У меня есть партиал с выпадающим списком, в котором заполняется меню и рецепт. На этой странице нужно сгруппировать рецепт в меню _menu_recipe.html.erb

<%= 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%>

всякий раз, когда я пытаюсь поймать и создать или сгруппировать его, он приходит с Couldn't find Recipe without an ID ошибкой

мой активный админ-контроллер, который я переопределяю,

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

я не могуполучить текущее меню и рецепт, который я группа

1 Ответ

1 голос
/ 08 мая 2012

Вы пытались "проверить" хэш параметров?Эта часть кажется неправильной:

recipe = Recipe.find(params[:recipe_id])
menu = Menu.find(params[:menu_id])

Я бы ожидал что-то вроде:

recipe = Recipe.find(params[:menu_recipe][:recipe_id])
menu = Menu.find(params[:menu_recipe][:menu_id])
...