1

我有一个正在开发的应用程序,它在购买一种产品时将用户引导到“捆绑”页面,这样他们就有机会添加另一种产品来“捆绑”他们的购买以获得折扣。

这是我的路线:

resources :orders, :path_names => { :new => 'checkout' }
match "/orders/bundle" => "orders#bundle", :as => 'bundle_order'
match "/orders/add_product" => "orders#add_product", :as => 'add_product'

这是我的控制器#Action

def bundle
op_client = Client.find_by_name(opposite_client(current_client))
@product = Product.find_by_client_id_and_type_and_status(op_client.id, "subscription", "Active")

respond_with @product
end

出于某种原因,当我使用redirect_to此方法时,我收到此错误:

Unknown action
The action 'show' could not be found for OrdersController

我的 OrdersController 中没有 show 方法,因为我不需要它。为什么我会看到这个问题?

4

1 回答 1

2

这个错误可能是由两个不同的事情引起的。

第一的:

你在使用类似的东西:<%= link_to @order_object %>?? 如果你是,这就是问题所在。

第二:

routes.rb改变这一行:

resources :orders, :path_names => { :new => 'checkout' }

resources :orders, :path_names => { :new => 'checkout' }, :except => [:show]

这应该有效。如果没有,请提供有关您用于执行此操作的代码的更多详细信息redirect_to

于 2012-08-21T15:21:59.757 回答