J.C. Zhu
2009-Jan-08 06:47 UTC
[Help] With no persistence, instances share among actions failed.
Hi! My problem instance''s properties failed to share among the actions. e.g. In action ''collect'', I created an "CD" instance with some "Album"s as its properties using one-many relationship provided by rails API. Before saving to the db, I just pass the ''CD'' instance to action ''show'', using @instance_var. But I can''t get properties information using ''cd.albums'', it alway return an empty array. The reason why the objects do not get persisted is that modification of objects is necessary. Why can''t I navigate through the relation and How can I pass around the instance without? -------------------------------------------------------------------- # model class Cd < ActiveRecord::Base has_many :albums end class Album < ActiveRecord::Base belongs_to :cd end # in action "collect" @cd = Cd.new Dir.chdir("/media/cdrom") Dir.foreach(Dir.pwd) do | dir | logger.debug "found directory : [#{dir}]" if dir != "." && dir != ".." # collect album inf raw_info = dir @al = Album.new @al.name = dir.to_s @al.cd = @cd logger.debug "Checking album[#{@al.name}]''s belonging [#{@al.cd.volumn_name}]" logger.debug "Find album folder [#{dir}], thus cd contains [#{@cd.albums}]" end end end logging: Processing MusicInventoryController#collect (for 127.0.0.1 at 2009-01-08 14:13:14) [GET] found directory : [.] found directory : [..] found directory : [20090101] Checking album[20090101]''s belonging [test] Find album folder [20090101], thus cd contains [] Rendering music_inventory/show --~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Frederick Cheung
2009-Jan-08 09:23 UTC
Re: With no persistence, instances share among actions failed.
On Jan 8, 6:47 am, "J.C. Zhu" <realal...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> Hi! > > My problem instance''s properties failed to share among the actions. > e.g. In action ''collect'', I created an "CD" instance with some > "Album"s as its properties > using one-many relationship provided by rails API. > Before saving to the db, I just pass the ''CD'' instance to action > ''show'', using @instance_var. > But I can''t get properties information using ''cd.albums'', it alway > return an empty array. >You never save the @al object, so it''s not going to magically appear in @cd.albums. If you want to add an unsaved object to @cd.albums you can do @cd.albums.create ... Fred --~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org 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 -~----------~----~----~----~------~----~------~--~---