在我的ActiveAdmin项目中,我有分类和产品。每个产品都有一个类别。我能够完美地保存带有相关类别的产品。我需要能够添加产品及其类别,但是让用户能够正常保存或保存并将另一个产品添加到同一类别。我以为我可以在查询字符串中传递Category,但是当我尝试覆盖create方法时,我得到了一个双重定向。知道如何做到这一点?
这是我尝试的但又引起了重定向错误:
def create
@items_design = ItemsDesign.new(params[:items_design])
create! do |format|
format.html { redirect_to "http://test.******.com:3000/admin/products/1873" }
end
super
end
答案 0 :(得分:0)
不确定您的用户界面,这可能有助于了解您的用例。根据我的理解,您正在让用户填写创建产品的表单,但希望选择添加其他产品。
将category.id作为下一个产品的参数保留类别,方法是将其传递给新的'产品形式。
答案 1 :(得分:0)
您获得Double Redirect
的原因是因为当您成功创建ItemsDesign
记录时,您有一个重定向呼叫,但without a return
。因此,下一个代码将被执行,这是对super
的调用,其中再次发出导致错误的redirect
调用。
您可以Double Redirect Error
添加and return
来解析redirect_to
,如下所示:
def create
@items_design = ItemsDesign.new(params[:items_design])
create! do |format|
format.html { redirect_to "http://test.******.com:3000/admin/products/1873" and return }
end
super
end
如果您将category_id
(替换为相应的密钥)作为query_string传递,则可以create
操作params[:category_id]
对其进行访问,并相应地使用它。