On 10 July 2010 18:32, Szymon Przybył <apocalyp...@gmail.com> wrote:
> This works:
>
> pattern.notes.first(:conditions => {:location => location})
>
> But I want use it in views, pattern.notes.get_location(location) looks
> much better, but how can I make it works?

I am not sure what you are trying to do.  Are you trying to find all
the notes for that pattern where the location is a specified value?
If so you could use Note.find with a condition that note.pattern is
the one you want and location is the location you want.  In fact I
think you should be able to use something like
Note.find_all_by_pattern_id_and_location( pattern.id, location )

Alternatively pattern.notes.select{ |n| n.location ==
required_location } or something similar.  If you like this I would
make it a method of Pattern so that you can say something like
pattern.notes_for_location( required_location )

As an earlier poster suggested, have a look at the rails guides,
http://guides.rubyonrails.org

By the way it is preferred here to insert replies into the previous
post at the appropriate point rather than top posting.  It makes it
easier to follow the thread.  Thanks

Colin

>
> cheers!
> simon
>
> On 10 Lip, 18:08, Frederick Cheung <frederick.che...@gmail.com> wrote:
>> On Jul 10, 4:22 pm, Szymon Przybył <apocalyp...@gmail.com> wrote:
>>
>>
>>
>> > Hi!
>>
>> > I'm new in Rails and I'm making my first site using this. I have some
>> > problem with methods in models:
>>
>> > I have model Note with one additional method:
>>
>> > class Note < ActiveRecord::Base
>> >   belongs_to :pattern
>> >   def get_location(location)
>> >     find(:conditions => ["location = ?", location])
>> >   end
>> > end
>>
>> > And when I'm trying to access it through
>> > pattern.notes.get_location(1) , it throws an error:
>>
>> > undefined method `get_location' for #<Class:0xb6bc63ec>
>>
>> get_location is an instance method of Note but you're trying to call
>> it on a collection of notes (Because associations are also scopes you
>> can call class methods on them: this just calls the class method with
>> finds etc scoped appropriately, but I'm not sure if that is what you
>> were trying to do).
>>
>> Fred
>>
>> Fred
>>
>> > What i'm doing wrong?
>>
>> > cheers!
>> > Szymon
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Ruby on Rails: Talk" group.
> To post to this group, send email to rubyonrails-t...@googlegroups.com.
> To unsubscribe from this group, send email to 
> rubyonrails-talk+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/rubyonrails-talk?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-t...@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to