I need some help understanding the proper way to save (if possible) using the new(). create() method. I need an example to try to explain.
Say, I have a table called projects with id, name, and status_id as attributes along with another table called statuses with id, name
My Project model will contain a "belongs_to :status" and Status model will contain a "has_many :projects".
Status table can contain ("active", "scheduled", "inactive") along with their respective ids.
I'm trying to figure out the proper way for, say, creating a new project model using new() or create() with an 'active' id.
I'm looking to understand the difference between these and whether I should always prefer to use one over the other...
p = Project.new(:name => "blah", :status_id => Status.find_by_name("active").id)
p = Project.new(:name => "blah", :status_id => Status.find_by_name("active"))
p = Project.new(:name => "blah", :status => Status.find_by_name("active").id)
p = Project.new(:name => "blah", :status => Status.find_by_name("active"))
Another question, along the same lines should I be doing the following?
p = Project.new(:name => "blah", :status_id => Status.new(:name=> "test"))
p.save should create the new Status right?
Any help would be greatly appreciated. Thanks.