active admin collection_select и передача в метод переопределения контроллера - PullRequest
0 голосов
/ 03 апреля 2012

В моем активадмине есть выпадающий список, который заполняет рецепт и меню. Я пытаюсь переопределить метод создания, но он не работает

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

я делаю это правильно? если что-то понадобится, просто спросите заранее

1 Ответ

0 голосов
/ 03 апреля 2012

Я думаю, это то, как вы получаете recipe_id. Я мог бы отладить параметры и посмотреть, каковы фактические значения.

Возможно, вам нужно сделать что-то вроде этого:

params[:menu_recipe][recipe_id]
...