kneath.lists-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
2007-Nov-14 19:47 UTC
New Foxy Fixtures (Rails 2) & STI (Single Table Inheritance)
I''ve got some problems right now using the new model for relationships in fixtures (by label, not by id) and STI. What I''ve got, is a couple of models: Attachment --> FileDownload Version Version has_one file_download with file_download_id on the versions table In my fixtures, I have two FileDownloads in my attachments.yml like so: hemingway_alpha_zip: size: 100 filename: hemingway_alpha.zip content_type: application/zip type: FileDownload project: hemingway now, in my versions.yml, I have: alpha: name: Alpha 1 revision: 2 description: this is the first alpha release for hemingway! project: hemingway file_download: hemingway_alpha_zip created_at: <%= (Time.now - 5.days).to_formatted_s(:db) %> The problem I''m having is that it''s trying to put file_download into a column in versions when I run rake test:units ActiveRecord::StatementInvalid: Mysql::Error: #42S22Unknown column ''file_download'' in ''field list'': INSERT INTO `versions` (`file_download`, `name`, `project_id`, `updated_at`, `id`, `revision`, `description`, `created_at`) VALUES (''hemingway_alpha_zip'', ''Alpha 1'', 2980859, ''2007-11-14 11:23:26'', 296151536, 2, ''this is the first alpha release for hemingway!'', ''2007-11-09 11:23:26'') Now, I''ve got two questions: a) How can I make it think that file_download is a relationship and not a field? b) How can I get that label-hash id manually? (i.e. alpha --> 296151536) in case I just need to hack it in manually? --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
John Barnette
2007-Nov-14 23:03 UTC
Re: New Foxy Fixtures (Rails 2) & STI (Single Table Inheritance)
(snip) On Nov 14, 2007, at 11:47 AM, kneath.lists-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org wrote:> a) How can I make it think that file_download is a relationship and > not a field? > b) How can I get that label-hash id manually? (i.e. alpha --> > 296151536) in case I just need to hack it in manually?For (a), it sounds like you''re missing the other half of your has_one relationship. Do you have an appropriate belongs_to declared? The current fixture implementation expects has_one relationships to be specified on the belongs_to side, identically to has_many. For (b), what you''re looking for is Fixtures.identify, e.g., foo: bar_id: <%= Fixtures.identify(:label) %> ~ j. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---