Method models and complex querries

Hello, this is a repost, something seemed to go wrong last time I tried
to post…

Anyway I got this model:
class Command < ActiveRecord::Base
has_many :executions

def with_extension(ext)
Extension.all(:include => :command,
:conditions => { :suffix => ext})
end
end

And this code in a controller method
@commands = Command.with_extension(‘txt’)
But I get this error then
undefined method `with_extension’ for #Class:0xb6eaecbc

I’m obviously doing something wrong, but since I’m not very experienced
with ruby, I don’t know what it is…

Another problem I have is that I’m not sure the method code is right.
This is the extensions schema:
create_table “extensions”, :id => false, :force => true do |t|
t.string “suffix”, :null => false
t.integer “command_id”, :null => false
end

I want to select all commands which is mapped to a specific suffix.

Niklas U.
thanks you for your
time and wishes you
and everybody
Happy programming!

On Aug 23, 5:47 am, Niklas U. [email protected]
wrote:

end
This is a method on an instance,

end

And this code in a controller method
@commands = Command.with_extension(‘txt’)

But here it is being called for the class.

try:

def self.with_extension

end

in the Command class.

However, since the with_extension method only really interacts with
the Extension class I think that would be a better place for it.

class Extension < ActiveRecord::Base
def self.all_with_extension(ext)
Extension.all(…) # code to find all required extensions
end
end

Allan

Allan wrote:

This is a method on an instance,

Hmm, ok.

And this code in a controller method
@commands = Command.with_extension(‘txt’)

try:

def self.with_extension

end

I did, but I still got the same error…

However, since the with_extension method only really interacts with
the Extension class I think that would be a better place for it.

My second question was how to perform a complex query so
it returned all commands which have a command:suffix mapping.

I could do it with code something like this, but it it awfully
inefficient:
Extension.all(:include => :command,
:conditions => { :suffix => ext}).map { |e|
e.command }

I don’t think that belongs in the extension class.