我的activeadmin中有列表下拉列表,用于填充配方和菜单。我正在尝试覆盖create方法,但它无法正常工作
<%= 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
我正在做对吗?如果需要什么,请提前询问
答案 0 :(得分:0)
我的猜测是你获得recipe_id的方式。我可能会调试params并查看实际值是什么。
您可能需要执行以下操作:
params[:menu_recipe][recipe_id]