我在构建我想象中的电子商务网站时正在学习狂欢。我注意到没有办法重新订购产品。所以我在数据库中添加了一个字段并扩展了模型。在 IRB/Pry 中一切正常。
现在我将把它作为一项功能添加到 Spree 后端。我在产品选项卡中添加了一个子菜单,并添加了一个新控制器来执行该任务。这个想法是显示文本字段列表并选择并在显示时按字段排序。听起来很简单。
但是当我发布表单时,它会让我退出管理部分并将我重定向到登录页面。我尝试使用 PostMan (chrome) 制作一个空的 HTTP 帖子并得到相同的结果
这是我的内容。
控制器/狂欢/管理员/product_order_controller.rb
class Spree::Admin::ProductOrderController < Spree::Admin::BaseController
def index
@products = Spree::Product.order( 'placement_order ASC' )
end
def update
end
end
意见/狂欢/管理员/product_order/index.html.slim
= render :partial => 'spree/admin/shared/product_sub_menu'
h1 Product Order
form method="post" action="/admin/product_order/update"
h3 Select the order of products :-
table
tr
td Image
td Name
td Order
- @products.each do | product |
= render :partial => 'spree/admin/product_order/product_order', :locals => { :product => product }
input type="submit" name="submit" value="Submit"
路线.rb
match '/admin/product_order' => 'spree/admin/product_order#index'
match '/admin/product_order/index' => 'spree/admin/product_order#index'
match '/admin/product_order/update' => 'spree/admin/product_order#update'
在帖子上:它重定向到http://localhost:3000/login
我做错了什么,还是我做的不同?
提前致谢。
祝你星期一过得愉快,我知道……这对我们大多数人来说会很可怕:)