【发布时间】:2009-12-30 02:12:13
【问题描述】:
在一个玩具 Rails 应用程序中,我正在模拟一种情况,您有许多罐子,每个罐子都包含一定数量的东西,您可以在罐子之间进行交易。一笔交易可以来自任何底池,也可以去去任何底池。
以下是模型的相关部分:
class Pot < ActiveRecord::Base
has_many :to_transactions, :foreign_key => "to_id", :class_name => "Transaction"
has_many :from_transactions, :foreign_key => "from_id", :class_name => "Transaction"
end
class Transaction < ActiveRecord::Base
belongs_to :to_pot, :class_name => "Pot", :foreign_key => "to_id"
belongs_to :from_pot, :class_name => "Pot", :foreign_key => "from_id"
end
这允许我在控制台执行以下操作:
>> p = Pot.find(123)
>> p.from_transactions
=> # returns array of transactions from pot 123
>> t = p.to_transactions.new
=> # t is a new transaction with to_id set to 123
等等。
我在设置路由时遇到问题。例如,我想:
-
/pots/123/from_transactions提供来自 123 号池的所有交易的列表, -
/pots/123/to_transactions/new提供新的交易表格,to_id设置为 123
这可能吗?感激地收到任何帮助等等等等。
【问题讨论】:
标签: ruby-on-rails routing