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 -~----------~----~----~----~------~----~------~--~---