Ruby on Rails
Wednesday, December 26, 2012
upon further investigation and a lot of googling, i have found that in order to get environment_id and state_id columns into the engines table, I have to add
t.belongs_to :environment
t.belongs_to :state
into the migrations files.
Thanks for the assistance Frederic. :)
On Tuesday, December 25, 2012 9:25:17 PM UTC-5, Julien Estebane wrote:
Hello,--
I am having what I might think is a basic problem...I can't get the relationships of has_many and belongs_to mapped out correctly in the database. I would expect, according to my MODEL and MIGRATION, that there would be a desktop_id in the states and environments DATABASE table ?
How can I get the desktop_id, state_id and environment_id columns mapped out in the tables ?
I ran rake db:migrate before going to the rails console and checking the tables...
MODEL:
------
user@user-DevMachine:~/dev/myapp/app/models$ cat engine.rb
class Engine < ActiveRecord::Base
# attr_accessible :title, :body
belongs_to :environment
belongs_to :state
end
user@user-DevMachine:~/dev/myapp/app/models$ cat environment.rb
class Environment < ActiveRecord::Base
attr_accessible :description
has_many :engines
end
user@user-DevMachine:~/dev/myapp/app/models$ cat state.rb
class State < ActiveRecord::Base
attr_accessible :description
has_many :engines
end
MIGRATION:
----------
user@user-DevMachine:~/dev/myapp/db/migrate$ cat 20121225230016_create_engines. rb
class CreateEngines < ActiveRecord::Migration
def change
create_table :engines do |t|
t.timestamps
end
end
end
user@user-DevMachine:~/dev/myapp/db/migrate$ cat 20121225230034_create_states. rb
class CreateStates < ActiveRecord::Migration
def change
create_table :states do |t|
t.string :description
t.timestamps
end
end
end
user@user-DevMachine:~/dev/myapp/db/migrate$ cat 20121225230118_create_ environments.rb
class CreateEnvironments < ActiveRecord::Migration
def change
create_table :environments do |t|
t.string :description
t.timestamps
end
end
end
user@user-DevMachine:~/dev/myapp/db/migrate$
DATABASE:
---------
user@user-DevMachine:~/dev/myapp/db/migrate$ rails console
Loading development environment (Rails 3.2.9)
1.9.3-p327 :001 > ActiveRecord::Base.connection.execute("SELECT * FROM engines")
(1.1ms) SELECT * FROM engines
=> [{"id"=>1, "created_at"=>"2012-12-26 01:26:38.789476", "updated_at"=>"2012-12-26 01:26:38.789476", 0=>1, 1=>"2012-12-26 01:26:38.789476", 2=>"2012-12-26 01:26:38.789476"}]
1.9.3-p327 :002 > ActiveRecord::Base.connection.execute("SELECT * FROM environments")
(0.3ms) SELECT * FROM environments
=> [{"id"=>1, "description"=>"warm", "created_at"=>"2012-12-26 01:27:40.968920", "updated_at"=>"2012-12-26 01:27:40.968920", 0=>1, 1=>"warm", 2=>"2012-12-26 01:27:40.968920", 3=>"2012-12-26 01:27:40.968920"}, {"id"=>2, "description"=>"cold", "created_at"=>"2012-12-26 01:27:41.055711", "updated_at"=>"2012-12-26 01:27:41.055711", 0=>2, 1=>"cold", 2=>"2012-12-26 01:27:41.055711", 3=>"2012-12-26 01:27:41.055711"}, {"id"=>3, "description"=>"hot", "created_at"=>"2012-12-26 01:27:41.129397", "updated_at"=>"2012-12-26 01:27:41.129397", 0=>3, 1=>"hot", 2=>"2012-12-26 01:27:41.129397", 3=>"2012-12-26 01:27:41.129397"}, {"id"=>4, "description"=>"freezing", "created_at"=>"2012-12-26 01:27:41.284936", "updated_at"=>"2012-12-26 01:27:41.284936", 0=>4, 1=>"freezing", 2=>"2012-12-26 01:27:41.284936", 3=>"2012-12-26 01:27:41.284936"}]
1.9.3-p327 :003 > ActiveRecord::Base.connection.execute("SELECT * FROM states")
(0.4ms) SELECT * FROM states
=> [{"id"=>1, "description"=>"running", "created_at"=>"2012-12-26 01:27:40.452140", "updated_at"=>"2012-12-26 01:27:40.452140", 0=>1, 1=>"running", 2=>"2012-12-26 01:27:40.452140", 3=>"2012-12-26 01:27:40.452140"}, {"id"=>2, "description"=>"stopping", "created_at"=>"2012-12-26 01:27:40.536188", "updated_at"=>"2012-12-26 01:27:40.536188", 0=>2, 1=>"stopping", 2=>"2012-12-26 01:27:40.536188", 3=>"2012-12-26 01:27:40.536188"}, {"id"=>3, "description"=>"restarting", "created_at"=>"2012-12-26 01:27:40.613507", "updated_at"=>"2012-12-26 01:27:40.613507", 0=>3, 1=>"restarting", 2=>"2012-12-26 01:27:40.613507", 3=>"2012-12-26 01:27:40.613507"}, {"id"=>4, "description"=>"creating", "created_at"=>"2012-12-26 01:27:40.688855", "updated_at"=>"2012-12-26 01:27:40.688855", 0=>4, 1=>"creating", 2=>"2012-12-26 01:27:40.688855", 3=>"2012-12-26 01:27:40.688855"}, {"id"=>5, "description"=>"destroying", "created_at"=>"2012-12-26 01:27:40.768293", "updated_at"=>"2012-12-26 01:27:40.768293", 0=>5, 1=>"destroying", 2=>"2012-12-26 01:27:40.768293", 3=>"2012-12-26 01:27:40.768293"}]
1.9.3-p327 :004 >
Thanks
Julien Estebane
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-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/rubyonrails-talk/-/SjKXmp9zj8QJ.
For more options, visit https://groups.google.com/groups/opt_out.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment