Jet Thompson wrote:
> I have a class photo. It belongs_to a project.
> 
> In my ProjectsController I am creating 2 instance variables:
> 
> @displayphoto = Photo.find_by_project_id(params[:id])
> 
> ...and also
> 
> @photo = @project.build_photo
> 
> 
> The @displayphoto instance returns a nil object.
> However,
> 
> @photo = Photo.find_by_project_id(params[:id])
> 
> works fine. So evidently it is the name @displayphoto
> that is causing the problem.
> 
> So I have 2 questions:
> 
> 1)  Must an instance variable always be the same
>      name as the name of the class?

No. An instance variable is just a variable (scoped to the instance of 
it's class). And ivar can reference any object.

> 2)  If the above is true,  how can I create 2 separate
>      instance variables in my controller for the same class?

Just as you attempted to do. There is obviously something else going on 
here that can't be seen from the code you provided. Or, the value of 
params[:id] is different between your two example.
-- 
Posted via http://www.ruby-forum.com/.
-- 
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 [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.


Reply via email to