Ah, there is that example for attributes, you're right. In the fields section, it has just :name. Not particularly clear, I've tweaked the docs slightly to hopefully help.
Thanks -- Pat On 03/02/2011, at 5:41 PM, Scott Lenney wrote: > Hi Pat, > > I know I tried your suggestion and it didn't work, but I just tried it now > and it all worked. > > The original question was from the help document which stated: > has tags(:id), :as => :tag_ids > > not that tags itself was an association from your first response, but that > :id is a reserved word. Seems that the help was correct for pre-rails 3, but > for rails 3 you would use > has :id, :as => :tag_ids > > Thanks for your help, updating a big project to rails 3 is sort of daunting, > Scott > > > On Wed, Feb 2, 2011 at 9:16 PM, Pat Allan <[email protected]> wrote: > Hi Scott > > Just to confirm - you want an attribute based on the primary key of the > object with the index definition? > > has :id, :as => :cdvd_id > > If it worked in previous versions, it's only because TS wasn't checking > things out, and just treated the cdvds(:id) as :id. > > -- > Pat > > On 03/02/2011, at 4:12 PM, Scott Lenney wrote: > > > Hi Pat, No problem, here is the top part of the model: > > > > class Cdvd < ActiveRecord::Base > > has_many :mydvds > > has_many :listmovies > > has_many :users, :through => :mydvds > > > > has_many :zjactors > > has_many :zactors, :through => :zjactors > > > > has_attached_file :dvdfront, > > :styles => { :original => "640x640>", :medium => > > "240x240>", :tiny => "90x90>" }, > > :default_style => :medium, > > :path => ":attachment/:id/:style.:extension", > > :storage => :s3, > > :s3_credentials => "#{RAILS_ROOT}/config/amazon_s3.yml", > > :bucket => "lib-dvdfront" > > > > validates_attachment_content_type :dvdfront, > > :content_type => ['image/jpg', 'image/jpeg', > > 'image/pjpeg', 'image/gif', 'image/png', 'image/x-png'], > > :message => "Only image files are allowed - > > jpg, png, gif, jpeg" > > > > has_attached_file :dvdback, > > :styles => { :original => "640x640>", :medium => > > "240x240>", :tiny => "90x90>" }, > > :default_style => :medium, > > :path => ":attachment/:id/:style.:extension", > > :storage => :s3, > > :s3_credentials => "#{RAILS_ROOT}/config/amazon_s3.yml", > > :bucket => "lib-dvdback" > > validates_attachment_content_type :dvdback, > > :content_type => ['image/jpg', 'image/jpeg', > > 'image/pjpeg', 'image/gif', 'image/png', 'image/x-png'], > > :message => "Only image files are allowed - > > jpg, png, gif, jpeg" > > > > attr_accessor :imdbstr, :actors, :genre, :savepic > > > > define_index do > > set_property :delta => true > > indexes title, :sortable => true > > indexes alttitle, stitle > > > > has cdvds(:id), :as => :cdvdid > > has [sgenre1, sgenre2, sgenre3], :as => :genres, :type => :multi > > has rating, :as => :mrating, :type => :integer > > has updated, :type => :boolean > > has "ORD(UPPER(title))", :as => :ord_int, :type => :integer > > has "IF(cdvds.quantity > 0, 1, 0)", :as => :owned, :type => :boolean > > has language, :type => :integer > > has "IF(LENGTH(title) < 8, 1, 0)", :as => :short, :type => :boolean > > > > #If rating R or X or the genre is adult > > has "IF(rating = 10 OR rating = 14 or sgenre1 = 14 or sgenre2 = 14 or > > sgenre3 = 14, 1, 0)", :as => :adult, :type => :boolean > > > > #If rating G or PG or the genre is children or family > > has "IF(rating = 0 OR rating = 8 or sgenre1 = 7 or sgenre2 = 7 or > > sgenre3 = 7 or sgenre1 = 16 or sgenre2 = 16 or sgenre3 = 16, 1, 0)", :as => > > :child, :type => :boolean > > > > set_property :enable_star => 1 > > set_property :min_prefix_len => 2 > > > > > > #set_property :delta => true > > end > > > > I need to search on a group of id that are in another part of the > > application of the mydvds so I do need to also include the index of of the > > cdvd to be able to search on a reduces set. The above works fine pre rails > > 3, the has cdvds(:id), :as => :cdvdid indexes and starts TS fine, but when > > I try to update a cdvd record it gives the no method error. > > > > Thanks, > > Scott > > > > On Wed, Feb 2, 2011 at 5:32 PM, Pat Allan <[email protected]> wrote: > > Hi Scott > > > > Sorry, I'm not sure what's going on .. is cdvds an association? It will > > need to be, if you're going to use it in your define_index block. Can you > > share your define_index block and the associations in this model? > > > > Cheers > > > > -- > > Pat > > > > On 03/02/2011, at 5:30 AM, Scott Lenney wrote: > > > > > Hi Pat, > > > Thanks for the reply. > > > There isn't an association in this case. I am actually using dvds. > > > > > > define_index do > > > indexes title, :sortable => true > > > has cdvds(:id), :as => :cdvdid > > > end > > > In pre-rails 3 this works fine, but in rails 3 TS works fine, but when I > > > update any record in cdvd (nothing to do with TS) I get the no method > > > error for cdvds. Does TS automatically include the id for the records? > > > Meaning I wouldn't need to include it in the indexing. > > > > > > Thanks, > > > Scott > > > > > > > > > On Tue, Feb 1, 2011 at 12:37 AM, Pat Allan <[email protected]> > > > wrote: > > > Hi Scott > > > > > > This is a known bug - TS/Rails 3 generation of joins doesn't take > > > has-many :through's into account. > > > > > > Assuming the usual tag structure, try the following instead: > > > has taggings.tag(:id), :as => :tag_ids > > > > > > Essentially, you can't use has-many :through's as shortcuts - you need to > > > go the long way around. I do need to fix this, but ARel is a tricky beast > > > to master. > > > > > > Cheers > > > > > > -- > > > Pat > > > > > > On 01/02/2011, at 6:17 PM, Scott Lenney wrote: > > > > > > > Simple problem, after updating to rails 3 I get the following problem > > > > > > > > Looking at the example on attributes: > > > > http://freelancing-god.github.com/ts/en/indexing.html > > > > > > > > I want to index the id as an attribute > > > > has tags(:id), :as => :tag_ids > > > > > > > > That all works fine, but when I update a record I now get an undefined > > > > method 'tags', if I remove the above line no problem. This started > > > > after updating to rails 3. > > > > > > > > If anyone has any ideas or if already addressed please let me know > > > > > > > > -- > > > > You received this message because you are subscribed to the Google > > > > Groups "Thinking Sphinx" group. > > > > To post to this group, send email to [email protected]. > > > > To unsubscribe from this group, send email to > > > > [email protected]. > > > > For more options, visit this group at > > > > http://groups.google.com/group/thinking-sphinx?hl=en. > > > > > > > > > > -- > > > You received this message because you are subscribed to the Google Groups > > > "Thinking Sphinx" group. > > > To post to this group, send email to [email protected]. > > > To unsubscribe from this group, send email to > > > [email protected]. > > > For more options, visit this group at > > > http://groups.google.com/group/thinking-sphinx?hl=en. > > > > > > > > > > > > -- > > > You received this message because you are subscribed to the Google Groups > > > "Thinking Sphinx" group. > > > To post to this group, send email to [email protected]. > > > To unsubscribe from this group, send email to > > > [email protected]. > > > For more options, visit this group at > > > http://groups.google.com/group/thinking-sphinx?hl=en. > > > > -- > > You received this message because you are subscribed to the Google Groups > > "Thinking Sphinx" group. > > To post to this group, send email to [email protected]. > > To unsubscribe from this group, send email to > > [email protected]. > > For more options, visit this group at > > http://groups.google.com/group/thinking-sphinx?hl=en. > > > > > > > > -- > > You received this message because you are subscribed to the Google Groups > > "Thinking Sphinx" group. > > To post to this group, send email to [email protected]. > > To unsubscribe from this group, send email to > > [email protected]. > > For more options, visit this group at > > http://groups.google.com/group/thinking-sphinx?hl=en. > > -- > You received this message because you are subscribed to the Google Groups > "Thinking Sphinx" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/thinking-sphinx?hl=en. > > > > -- > You received this message because you are subscribed to the Google Groups > "Thinking Sphinx" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/thinking-sphinx?hl=en. -- You received this message because you are subscribed to the Google Groups "Thinking Sphinx" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/thinking-sphinx?hl=en.
