Ruby on Rails Saturday, June 30, 2012

On 30 June 2012 18:36, Felipe Pieretti Umpierre <lists@ruby-forum.com> wrote:
> Hello guys, I have two tables, tasks and projects, and each model I put:
>
> Task.rb
>
> class Task < ActiveRecord::Base
> attr_accessible :user_id, :project_id, :name
> belongs_to :project
> end
>
> Project.rb
>
> class Project < ActiveRecord::Base
> attr_accessible :name, :description
> has_many :tasks
> end
>
> But when I go to my prompt and I make a SELECT with task, none project
> is returned.
>
> irb(main):001:0> Task.all
> ←[1m←[36mTask Load (0.0ms)←[0m ←[1mSELECT `tasks`.* FROM `tasks` ←[0m
> ←[1m←[35mEXPLAIN (30.0ms)←[0m EXPLAIN SELECT `tasks`.* FROM `tasks`
> EXPLAIN for: SELECT `tasks`.* FROM `tasks`
> +----+-------------+-------+------+---------------+------+---------+------+------+-------+
> | id | select_type | table | type | possible_keys | key | key_len | ref | rows |
> Extra |
> +----+-------------+-------+------+---------------+------+---------+------+------+-------+
> | 1 | SIMPLE | tasks | ALL | NULL | NULL | NULL | NULL | 2 |
> |
> +----+-------------+-------+------+---------------+------+---------+------+------+-------+
> 1 row in set (0.03 sec)
>
> => [#<Task id: 1, user_id: nil, project_id: 1, name:
> "W\r<br>T\r<br>F\r<br>VERY\r<br...", del
> eted: 0, done: 0, created_at: "2012-06-24 15:46:37", updated_at:
> "2012-06-30 17:13:27">, #<Task id: 2, user_id: nil, pro
> ject_id: 1, name: "Teste", deleted: 0, done: 0, created_at: "2012-06-30
> 17:11:27", updated_at: "2012-06-30 17:11:27">]
>
> I guess the project name should come too ? right ?
>
> What am I doing wrong ?

Nothing. The project will only be fetched if you use :include in the
query. However, for one of the tasks fetched above you can still say
task.project and it will fetch the project then.

Colin

--
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.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en-US.

No comments:

Post a Comment