Forum: Ruby on Rails Where do I add my class in RoR

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Pepe S. (Guest)
on 2008-10-07 15:34
If I want to add my class where do I add it?

as a module or as a controller?

class Contact
  def initialize(name, email, message)
    @name = name
    @email= email
    @message= message
  end

def name(name)
    @name = name
  end

  def email(email)
    @email= email

  end

  def message(message)
    @message= message
  end

end
Abhishek shukla (Guest)
on 2008-10-07 15:51
(Received via mailing list)
inside in your application under app/*model* folder. And if it is a
module
then insert it inside the lib folder.


On Tue, Oct 7, 2008 at 5:04 PM, Pepe S. <
Pratik N. (Guest)
on 2008-10-07 15:58
(Received via mailing list)
You should put it under lib/contact.rb if you want to follow the
general convention.

On Tue, Oct 7, 2008 at 12:34 PM, Pepe S.
<removed_email_address@domain.invalid> wrote:
>  end
>  def message(message)
>    @message= message
>  end
>
> end
> --
> Posted via http://www.ruby-forum.com/.
>
> >
>



--
Cheers!
- Pratik
http://m.onkey.org
Pepe S. (Guest)
on 2008-10-08 07:02
thanks
Robert W. (Guest)
on 2008-10-08 20:51
> You should put it under lib/contact.rb if you want to follow the
> general convention.
Really? It seems to me that Contact (ActiveRecord subclass or not) would
be a legitimate model object in a MVC system. I could see putting some
utility classes and stuff that doesn't really have a place in MVC in the
lib folder. That seems perfectly reasonable to me. Not everything can be
pigeon-holed into any specific design pattern.

So are you saying that any model object that is not subclassing
ActiveRecord::Base should not be kept inside the app/models folder? Even
when it is obviously a model object managing data, even when that data
may not be persisted to a database table.

I'm just looking for some clarification here. Is this just a developer
preference on how to organize classes? Or, are their issues surrounding
keeping non-ActiveRecord model objects in the /app/models folder?

Pratik Naik wrote:
> You should put it under lib/contact.rb if you want to follow the
> general convention.
...snip...
> Cheers!
> - Pratik
> http://m.onkey.org
This topic is locked and can not be replied to.