In einer Spielzeug - Rails - Anwendung, bin Modellierung ich eine Situation , wo Sie eine Reihe von Töpfen, die jeweils eine Menge von etwas enthält, und Sie können Transaktionen zwischen den Töpfen machen. Eine Transaktion kann kommen aus jedem Topf, und gehen Sie zu jedem Topf.
Hier sind die relevanten Teile der Modelle:
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
Dies ermöglicht es mir Folgendes an der Konsole zu tun:
>> 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
und so weiter.
Ich habe ein Problem das Routing einrichten. Zum Beispiel würde Ich mag:
/pots/123/from_transactions
eine Liste aller Transaktionen aus Topf zu geben, 123,/pots/123/to_transactions/new
zu geben , die neue Geschäftsform, mit demto_id
Satz auf 123
Ist das möglich? Jede Hilfe dankbar empfangen etc etc.