I generally don't use polymorphic, but I would set up something similar to your first suggestion.

Loan
   belongs_to :lender, :class_name => 'User'
   belongs_to :borrower, :class_name => 'User'

User
   has_many loans, :class_name => "Loan", :foreign_key => :lender_id
   has_many borrows, :class_name => "Loan", :foreign_key => :borrower_id

cheers,
Bryan

tiekuhn wrote:
Hi,

I think the question I'm stuck with is actually not totally hobo
related but the fact I'm using hobo for my application might have an
effect on the answer, so I thought I better post my question here
anyway :-).

### Basic info ###
I'm on Rails 2.3.5 and hobo 0.9.103

### What I'm working on ###
I'm currently playing around with hobo and wanted to build a little
demo app where my friends and I are able to manage all the things we
borrowed each other. (I know there are apps like this on the internet,
I just wanted to built my own to get used to hobo :-)).

So wanted to build a form where I can enter:
- the name of the thing I'm borrowing to someone
- who I'm borrowing the thing to

--> I set up the Models
User
    name ..... (default hobo user model)

Loan
    name:string
    reminder:date

### PROBLEM ###
Now I wanted to set up 2 relations between the model.....
- Who is giving away the loan
- Who borrows the loan

????--> What do you think would be the most clever way to set up these
relations for my "use case"?????

### Idea 1 ###
Loan
   belongs_to :lender, :polymorphic => true
   belongs_to :borrower, :polymorphic => true

User
   has_many :loans, :as => :lender
   has_many :loans, :as => :borrower

--> Does this work anyway???????? (User.loans would be ambiguous,
right?)
--> how could I create a hobo form to create a new Loan and select the
borrower from a select (the app would assign me as the lender in the
controller or by hidden field I guess)

### Idea 2 ###
Loan
    has_many :loan_assignments, :dependent => :destroy
    has_many :users, :through => :loan_assignments, :accessible =>
true

User
    has_many :loan_assignments, :dependent => :destroy
    has_many :loans, :through => :loan_assignments

--> How do I restrict the hobo form, so I can only select 1 borrower
in /loans/new ???

-------
I'd be sooo happy I any of you could help me out with this.....I'm
really lost :-(
P.S. Sorry for my English, it's not my native tongue :-)



-- 
You received this message because you are subscribed to the Google Groups "Hobo 
Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/hobousers?hl=en.


Reply via email to