【发布时间】:2012-12-03 11:29:40
【问题描述】:
我有一个订单模型。客户通过 Orders 控制器与 Order 模型进行交互。管理员通过 Purchases 控制器与 Order 模型进行交互。
大部分情况下它都在工作,除了发生这种情况:
- 管理员用户转到 new_purchase_path
- 应用程序使用购买控制器中的“创建”操作,如 预计
- 然后应用程序使用订单控制器中的“新”操作(而不是 采购控制人)
- 然后应用呈现“app/purchases/new”视图(而不是 “app/orders/new” 视图),尽管它已切换到使用订单控制器
- 在管理员创建订单后,应用程序会呈现 使用订单控制器的“app/orders/show”视图
我真正需要的是:
- 管理员用户转到 new_purchase_path
- 应用然后使用购买控制器中的“创建”操作
- 应用然后使用购买控制器中的“新”操作
- 然后应用呈现“app/purchases/new”视图
- 在管理员创建订单后,应用程序会呈现 使用购买控制器的“app/purchases/show”视图
在 app/controllers/purchases_controller.rb 我有这个:
def new
@purchase = Order.new
respond_with @purchase
end
如果尝试过类似...的变体
def new
@purchase = Order.new
respond_with @purchase, :controller => :purchases
end
...但是对于respond_with,没有类似的记录,自然它不起作用。我能做什么?
【问题讨论】:
-
我不知道你为什么有
respond_with尝试删除它。另外,我不确定我是否理解事件的流程,特别是 2 和 3。你是什么意思它使用购买#create,然后使用订单#new。如果用户转到 new_purchase_path,purchase#new 是被调用的操作。 -
@todd 这个问题令人困惑,因为它基于前一个问题,其中存在一些混乱(部分是我的错):stackoverflow.com/questions/13676834/… 我已经在那里更新了我的答案,并在此处添加了一个答案我想解释了发生了什么。
标签: ruby-on-rails