Hello- I''m trying to get a list of attachment_fu objects (type of ProductImage) to play well with acts_as_list. Essentially, a single Product can have multiple ProductImages arranged in a sorted list (which feeds into a slideshow, ultimately). If it wasn''t clear from the title, this isn''t going well. The problem is in how attachment_fu adds multiple records to the database (one for the main image and one for each thumbnail). I''ve been trying various scoping options to get this to work, but to no avail. Here is my latest try, which I had high expectations for: acts_as_list :scope => ''product_id = #{product_id} and parent_id is null'' The error I get back is this: Mysql::Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''and parent_id is null) ORDER BY position DESC LIMIT 1'' at line 1: SELECT * FROM `product_images` WHERE (product_id = and parent_id is null) ORDER BY position DESC LIMIT 1 So, somewhere along the road I''m trying to retrieve things from the database, but passing in a null product_id. Does anyone know how to bring attachment_fu and acts_as_list together as friends? Thanks in advance. -Eric --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
Got it! This was a tricky one. I''ll post the solution here since I''ve seen some other posts where people got unsatisfactory results. I''m pleased with how this came out. Here is my ProductImage class, in its entirety. class ProductImage < ActiveRecord::Base belongs_to :product acts_as_list has_attachment :content_type => :image, :storage => :file_system, :max_size => 500.kilobytes, :resize_to => ''480!x360!'', :thumbnails => { :medium => ''247!x185!'', :small => ''80!x60!'', :micro => ''44!x33!'' } validates_as_attachment def scope_condition product_condition = product_id.nil? ? "product_id is null" : "product_id = #{product_id}" product_condition + " and parent_id is null" end end The magic is in the scope_condition method that sensibly handles when we don''t have a product_id (i.e., on the thumbnails that are getting ripped out). -Eric --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
Philipe Farias
2008-Sep-26 16:03 UTC
Re: attachment_fu and acts_as_list - a land war in Asia
This is nice but I''ve done a little different...I created one class for the image and another for the thumbnails. For this solution you need to add :thumbnail_class => Thumbnail in the thumbnails hash and define the scope_condition in the easy way (and a has_many association too). --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---