I've added more details to which relationships get set up for
anonymous m2m relationships, as well as an example of how you would
link or unlink 2 resources.

http://datamapper.org/docs/associations

cheers
snusnu

On Fri, Aug 6, 2010 at 06:06, deco <[email protected]> wrote:
> Honestly I have read this page more than once.  Perhaps I've looked at
> it too many times and I'm just not seeing it.   so in their example I
> should be able to make a new join association with the syntax
> @article = Article.get(...)
> @article.article_category({:article_id => x, :category_id => y })
>
> or.....
>
> On Aug 5, 12:34 pm, Martin Gamsjaeger <[email protected]> wrote:
>> Hey,
>>
>> Have a look at the section about anonymous join models 
>> at:http://datamapper.org/docs/associations
>>
>> While the whole page is definitely worth reading, you may want to
>> specifically read through
>>
>> Has, and belongs to, many (Or Many-To-Many)
>>
>> The naming conventions in use, as well as the way you typically use
>> these resources are described over there.
>>
>> cheers
>> snusnu
>>
>>
>>
>> On Thu, Aug 5, 2010 at 17:45, Richard Conroy <[email protected]> 
>> wrote:
>> > On Thu, Aug 5, 2010 at 4:16 PM, deco <[email protected]> wrote:
>>
>> >> If I made a third model manually and called it cars_people with
>> >> person_id and car_id as primary keys I could add rows to it.
>> >> (Person.cars_people.new(params) ... I realize his may not be the
>> >> correct way, please advise)  But seeing as it was done "through
>> >> Resource" I don't know how to create them.
>>
>> > I think you are on the right track. DataMapper supports 2 kinds of join
>> > tables,
>> > anonymous and custom. For most people anonymous join tables are fine; DM
>> > creates the table and references in the background.
>>
>> >> My models:
>>
>> >> Cars
>> >> property :id, Serial
>> >> property :name, String
>> >> property :model, String
>> >> has n, :people, :through => Resource
>>
>> >> People
>> >> property :id, Serial
>> >> property :name, String
>> >> property :model, String
>> >> has n, :people, :through => Resource
>>
>> > The key thing here is:
>> > has n, :model, :through => Resource
>> > This signifies that you are making an anonymous join table. To make this
>> > a custom, non anonymous join table, you would need to code it up as a
>> > regular
>> > model like you are suggesting:
>> > CarsPeople
>> > belongs_to :people
>> > belongs_to :cars
>> > property :custom_join_table_property, Stromg
>> > Then in your Cars and People models you signify the Custom join table like
>> > so:
>> > has n, :people, :through => CarsPeople
>> > Apologies if this isn't exactly correct, and I have played it fast and 
>> > loose
>> > with DM
>> > pluralization naming conventions, but I think you get the picture. The docs
>> > aren't
>> > exactly swimming with information on how to do this, but the principle is
>> > pretty
>> > straightforward and consistent.
>> > --
>> >http://richardconroy.blogspot.com
>>
>> > --
>> > You received this message because you are subscribed to the Google Groups
>> > "DataMapper" 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/datamapper?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups 
> "DataMapper" 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/datamapper?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"DataMapper" 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/datamapper?hl=en.

Reply via email to