使用不同控制器的模型方法 - Rails 3

时间:2011-07-29 05:02:19

标签: ruby-on-rails

我的申请有交易和订单。我正在查看交易时通过点击我的管理区域链接来手动处理订单。

视图/访问/优惠/ index.html.erb

<%= link_to "Process Orders", process_orders_access_deal_path(deal) %>

在我的/controllers/access/deals_controller.rb中,我有以下方法。

def process_orders
    @deal = Deal.find(params[:id])
    @orders = @deal.orders.where("state" == ?, "pending")
    @orders.each do |order|
      order.purchase
    end
 end

我的购买方式不在我的交易模型中,它在我的订单模型中,因为我在需要进行更改之前将其设置在那里,而不会立即处理订单。

订单控制器中的购买方法。

def purchase
  response = Order.gateway.purchase(order_amount, billing_id, options)
end

是否可以从我的/controllers/access/deals_controller.rb访问我的order.rb模型中的购​​买方法,如果是这样的话?

2 个答案:

答案 0 :(得分:3)

你试过打电话吗?

控制器和模型没有被一些莫名其妙的魔法所联系。您可以从任何其他类(即控制器)引用任何类(即模型)。没有限制。

答案 1 :(得分:-2)

在使用Rails之前,先阅读一些关于面向对象编程和Ruby的类。请不要把它当作个人,但如果不了解字母,就不能写书。我从自己的经历中知道。