Looks like your sort_direction method isn't returning the right details - should be ASC or DESC, much like SQL. Can you confirm what the generated value for the :order option is?
-- Pat On 17/08/2012, at 7:38 PM, frankphilips wrote: > Did that, but now I'm getting this: > > index shruffle_core: invalid sorting order 'desc_sort' > > On Aug 17, 12:29 pm, "Pat Allan" <[email protected]> wrote: >> Have you re-indexed Sphinxand restarted the daemon since making those >> changes? If not, one task does it all: rake ts:rebuild >> >> Cheers >> >> -- >> Pat >> >> On 17/08/2012, at 17:34, frankphilips <[email protected]> wrote: >> >> >> >> >> >> >> >>> Hi Pat, >> >>> I took your advice and incorporated your exact code. I've also read up on >>> attributes and fields and have fixed accordingly. However, now I'm getting >>> this error: >> >>> "index shruffle_core: sort-by attribute 'created_at' not found" >> >>> I do have has created_at in my model.What am I doing wrong now? Thanks for >>> the help! >> >>> -Frank >> >>> On Thursday, August 16, 2012 7:03:56 PM UTC-5, Pat Allan wrote: >>> Hi Frank >>> The .order method on models is for SQL queries, not Sphinx searches, so you >>> can't mix the two together. If you want to use sort_column and >>> sort_direction, then pass the string you're building with the :order option >>> (which it seems you're currently doing with :created_at): >> >>> Shruffle.search params[:search], :order => "#{sort_column} >>> #{sort_direction}" >> >>> Also, I'd recommend reading up on the differences between attributes and >>> fields - you probably don't want/need price, org_percent or created_at to >>> be fields. Attributes are inherently sortable (indeed, when fields are >>> marked as sortable, Thinking Sphinx is just creating an attribute in the >>> background to fulfil that purpose). >>> http://freelancing-god.github.com/ts/en/sphinx_basics.html >> >>> Hope this helps. >> >>> -- >>> Pat >> >>> On 16/08/2012, at 3:22 PM, frankphilips wrote: >> >>>> Hi, >> >>>> I'm a noob to Rails, and I need some help. In Railscast 240, Ryan talks >>>> about creating sortable table columns with ajax >>>> search:http://railscasts.com/episodes/240-search-sort-paginate-with-ajax >> >>>> However when I try to combine Thinking Sphinx rather then using the >>>> standard search Ryan mentions, it breaks my sortable table columns. I'm >>>> sure there is a quick way to fix this. Please help! Thanks :) >> >>>> Here's my code: >> >>>> MODEL: >> >>>> define_index do >> >>>> indexes :title, sortable: true >>>> indexes :desc, sortable: true >>>> indexes email >>>> indexes :org, sortable: true >>>> indexes org_percent >>>> indexes :price, sortable:true >>>> indexes :city, sortable: true >>>> indexes :created_at, sortable: true >> >>>> has created_at, updated_at >> >>>> end >> >>>> CONTROLLER: >> >>>> helper_method :sort_column, :sort_direction >>>> def index >>>> @shruffles = Shruffle.order(sort_column + ' ' + >>>> sort_direction).search(params[:search], :order => :created_at, >>>> :sort_mode => :desc) >> >>>> APPLICATION HELPER: >> >>>> def sortable(column, title = nil) >>>> title ||= column.titleize >>>> css_class = (column == sort_column) ? "current #{sort_direction}" : nil >>>> direction = (column == sort_column && sort_direction == "asc") ? "desc" >>>> : "asc" >>>> link_to title, {:sort => column, :direction => direction}, {:class => >>>> css_class} >>>> end >> >>>> VIEW: >> >>>> <%= hidden_field_tag :direction, params[:direction] %> >>>> <%= hidden_field_tag :sort, params[:sort] %> >> >>>> <table class="pretty"> >>>> <tr align="left"> >> >>>> <th><%= sortable "title" %></th> >>>> <th><%= sortable "price" %></th> >>>> <th><%= sortable "city" %></th> >>>> <th><%= sortable "org", 'Non-Profit' %></th> >>>> <th><%= image_tag "ico-heart.png" %> <%= sortable >>>> "org_percent", 'Donation %' %></th> >>>> <th><%= sortable "created_at", 'Date' %></th> >>>> </tr> >> >>>> <% for shruffle in @shruffles %> >> >>>> <tr> >>>> <td><%= link_to shruffle.title, shruffle %></td> >>>> <td class="price"><%= >>>> number_to_currency(shruffle.price) %></td> >>>> <td><%= shruffle.city %></td> >>>> <td><%= shruffle.org %></td> >>>> <td><%= shruffle.org_percent %>%</td> >>>> <td><%= shruffle.created_at.strftime("%b %d, %Y") >>>> %></td> >>>> </tr> >>>> <% end %> >>>> </table> >> >>>> -Frank >> >>>> -- >>>> You received this message because you are subscribed to the Google Groups >>>> "Thinking Sphinx" group. >>>> To view this discussion on the web >>>> visithttps://groups.google.com/d/msg/thinking-sphinx/-/Ls4y1X2qT5YJ. >>>> 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 >>>> athttp://groups.google.com/group/thinking-sphinx?hl=en. >> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "Thinking Sphinx" group. >>> To view this discussion on the web >>> visithttps://groups.google.com/d/msg/thinking-sphinx/-/zvniTZRgm4QJ. >>> 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 >>> athttp://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.
