Andrew Filipowski
2006-Jan-10 14:38 UTC
[Rails] Getting a user from a model (sort of a noob) (resend sorry)
Sorry for the resend but I am not sure if the first one ever made the list. As mentioned in my previous posts I''m trying to create a dynamic directory for file_folumn. After finding out that I didn''t have the most recent version I installed the latest trunk and am able to get file_column to act as it should. However I have been racking my brain on how to implement finding my current user from a model. I have tried everything in my basic/getting better knowledge of Rails and Ruby but have been striking out so far no luck. I am assuming others have done this so just some tips on how to get at this info would be greatly appreciated. The model that I am trying to get at the user info from does have a belongs_to relationship to my user. Here is my last attempt which comes back with a user can''t be found without an ID=0 error: File.join("test",User.find(self.user_id).companyname,"image") I have also tried: File.join("test",User.find(self.user.id).companyname,"image") And receive the Called id for nil, which would mistakenly be 4 -- if you really wanted the id of nil, use object_id error message. By my knowledge this makes sense as the object that I am creating has not totally been saved yet but I thought that by calling an Object.new (params[:object]) that the object at least resides in memory at this point (I am doing the object.new at the beginning of my create method in the controller for that model). Am I on the right path here or just running around in circles? Thanks for all the help from everyone on the list without it I would be having a much harder time than I am getting my head wrapped around Ruby and Rails (I am working under a deadline and have been forced to learn at the same time that I am writing a product for release for our company) Andrew
Peter Fitzgibbons
2006-Jan-10 15:04 UTC
[Rails] Getting a user from a model (sort of a noob) (resend sorry)
On 1/10/06, Andrew Filipowski <a.filipowski@mac.com> wrote:> > Sorry for the resend but I am not sure if the first one ever made the > list. > > As mentioned in my previous posts I''m trying to create a dynamic > directory for file_folumn. After finding out that I didn''t have the > most recent version I installed the latest trunk and am able to get > file_column to act as it should. However I have been racking my brain > on how to implement finding my current user from a model. I have > tried everything in my basic/getting better knowledge of Rails and > Ruby but have been striking out so far no luck. I am assuming others > have done this so just some tips on how to get at this info would be > greatly appreciated. The model that I am trying to get at the user > info from does have a belongs_to relationship to my user. Here is my > last attempt which comes back with a user can''t be found without an > ID=0 error: > > File.join("test",User.find(self.user_id).companyname,"image") > > I have also tried: > > File.join("test",User.find(self.user.id).companyname,"image") > > And receive the Called id for nil, which would mistakenly be 4 -- if > you really wanted the id of nil, use object_id error message. By my > knowledge this makes sense as the object that I am creating has not > totally been saved yet but I thought that by calling an Object.new > (params[:object]) that the object at least resides in memory at this > point (I am doing the object.new at the beginning of my create method > in the controller for that model). Am I on the right path here or > just running around in circles? > > Thanks for all the help from everyone on the list without it I would > be having a much harder time than I am getting my head wrapped around > Ruby and Rails (I am working under a deadline and have been forced to > learn at the same time that I am writing a product for release for > our company) > > Andrew > > > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails >If your code is in an instance method, then the method will have available the current record, so you can just reference self.companyname. If your code is in a class method, (def self.methodname), then you should be passing the target user_id as a parameter. Is your situation covered by one of these two cases? -- ------------------------------ me in you, you in me - the primal empathic mirror in all of us. ------------------------------ Peter Fitzgibbons -------------- next part -------------- An HTML attachment was scrubbed... URL: http://wrath.rubyonrails.org/pipermail/rails/attachments/20060110/402e9290/attachment-0001.html
Andrew Filipowski
2006-Jan-10 15:30 UTC
[Rails] Getting a user from a model (sort of a noob) (resend sorry)
my method is in an episode model which is a different model than my user. (two models). file_column requires this method to be an instance method of the model that the file belongs to, and you can''t pass any parameters to the method to create the directory when calling it from file_column unfortunately. So companyname is in the users table while the file is being saved and created from the episodes_controller and episode model which is set as a belongs_to user relationship. Hope this explains a little better what is going on. Andrew On Jan 10, 2006, at 10:04 AM, Peter Fitzgibbons wrote:> > > On 1/10/06, Andrew Filipowski <a.filipowski@mac.com> wrote: > Sorry for the resend but I am not sure if the first one ever made the > list. > > As mentioned in my previous posts I''m trying to create a dynamic > directory for file_folumn. After finding out that I didn''t have the > most recent version I installed the latest trunk and am able to get > file_column to act as it should. However I have been racking my brain > on how to implement finding my current user from a model. I have > tried everything in my basic/getting better knowledge of Rails and > Ruby but have been striking out so far no luck. I am assuming others > have done this so just some tips on how to get at this info would be > greatly appreciated. The model that I am trying to get at the user > info from does have a belongs_to relationship to my user. Here is my > last attempt which comes back with a user can''t be found without an > ID=0 error: > > File.join("test",User.find(self.user_id).companyname,"image") > > I have also tried: > > File.join("test", User.find(self.user.id).companyname,"image") > > And receive the Called id for nil, which would mistakenly be 4 -- if > you really wanted the id of nil, use object_id error message. By my > knowledge this makes sense as the object that I am creating has not > totally been saved yet but I thought that by calling an Object.new > (params[:object]) that the object at least resides in memory at this > point (I am doing the object.new at the beginning of my create method > in the controller for that model). Am I on the right path here or > just running around in circles? > > Thanks for all the help from everyone on the list without it I would > be having a much harder time than I am getting my head wrapped around > Ruby and Rails (I am working under a deadline and have been forced to > learn at the same time that I am writing a product for release for > our company) > > Andrew > > > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails > > If your code is in an instance method, then the method will have > available the current record, so you can just reference > self.companyname. If your code is in a class method, (def > self.methodname), then you should be passing the target user_id as > a parameter. > > Is your situation covered by one of these two cases? > > -- > ------------------------------ > me in you, you in me > - the primal empathic mirror in all of us. > ------------------------------ > Peter Fitzgibbons > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails-------------- next part -------------- An HTML attachment was scrubbed... URL: http://wrath.rubyonrails.org/pipermail/rails/attachments/20060110/7dbb4857/attachment.html
Peter Fitzgibbons
2006-Jan-10 17:31 UTC
[Rails] Getting a user from a model (sort of a noob) (resend sorry)
On 1/10/06, Andrew Filipowski <a.filipowski@mac.com> wrote:> > my method is in an episode model which is a different model than my user. > (two models). file_column requires this method to be an instance method of > the model that the file belongs to, and you can''t pass any parameters to the > method to create the directory when calling it from file_column > unfortunately. So companyname is in the users table while the file is being > saved and created from the episodes_controller and episode model which is > set as a belongs_to user relationship. > Hope this explains a little better what is going on. > > Andrew > On Jan 10, 2006, at 10:04 AM, Peter Fitzgibbons wrote: > > > > On 1/10/06, Andrew Filipowski <a.filipowski@mac.com> wrote: > > > > Sorry for the resend but I am not sure if the first one ever made the > > list. > > > > As mentioned in my previous posts I''m trying to create a dynamic > > directory for file_folumn. After finding out that I didn''t have the > > most recent version I installed the latest trunk and am able to get > > file_column to act as it should. However I have been racking my brain > > on how to implement finding my current user from a model. I have > > tried everything in my basic/getting better knowledge of Rails and > > Ruby but have been striking out so far no luck. I am assuming others > > have done this so just some tips on how to get at this info would be > > greatly appreciated. The model that I am trying to get at the user > > info from does have a belongs_to relationship to my user. Here is my > > last attempt which comes back with a user can''t be found without an > > ID=0 error: > > > > File.join("test",User.find(self.user_id).companyname,"image") > > > > I have also tried: > > > > File.join("test", User.find(self.user.id).companyname,"image") > > > > And receive the Called id for nil, which would mistakenly be 4 -- if > > you really wanted the id of nil, use object_id error message. By my > > knowledge this makes sense as the object that I am creating has not > > totally been saved yet but I thought that by calling an Object.new > > (params[:object]) that the object at least resides in memory at this > > point (I am doing the object.new at the beginning of my create method > > in the controller for that model). Am I on the right path here or > > just running around in circles? > > > > Thanks for all the help from everyone on the list without it I would > > be having a much harder time than I am getting my head wrapped around > > Ruby and Rails (I am working under a deadline and have been forced to > > learn at the same time that I am writing a product for release for > > our company) > > > > Andrew > > > > > > _______________________________________________ > > Rails mailing list > > Rails@lists.rubyonrails.org > > http://lists.rubyonrails.org/mailman/listinfo/rails > > > > If your code is in an instance method, then the method will have available > the current record, so you can just reference self.companyname. If your > code is in a class method, (def self.methodname), then you should be > passing the target user_id as a parameter. > > Is your situation covered by one of these two cases? > > -- > ------------------------------ > me in you, you in me > - the primal empathic mirror in all of us. > ------------------------------ > Peter Fitzgibbons > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails > > > > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails > > >So, it looks like you''re getting a null reference out of your episodes record on ''user_id''. Depending on your database, you need to be checking for same spelling, casing. Breakpointer and Irb are great tools for you at this point. -- ------------------------------ me in you, you in me - the primal empathic mirror in all of us. ------------------------------ Peter Fitzgibbons -------------- next part -------------- An HTML attachment was scrubbed... URL: http://wrath.rubyonrails.org/pipermail/rails/attachments/20060110/e06a448d/attachment.html