Thanks Bryan, if I use an include and reference the field in quotes that works. That's directly SQL querying db fields on the joined table. I thought ':accessible => true' on the model would put those in scope in the controller? Not a problem for this, but may be for other scenarios?
Cheers, Anthony. On Thursday, November 29, 2012 2:45:03 AM UTC, Bryan Larsen wrote: > > Use "local_area.name" or :"local_area.name" > > Bryan > > > On Wed, Nov 28, 2012 at 6:01 PM, tonym <[email protected] <javascript:>> > wrote: > > Hi Bryan, > > thanks. I can't get this to work though... > > How do I reference 'local_area.name' in the controller, to get a sort > on > > that column? > > I've tried fields='local_area.name...etc and then my controller is... > > > > def index > > hobo_index do > > self.this = self.this.include(:local_area) > > self.this = self.this.search(params[:search], :user_id, :name) if > > params[:search] > > self.this = self.this.order_by(parse_sort_param(:local_area.name)) > if > > params[:sort] > > end > > end > > > > > > I'm assuming this needs a SQL join, to be able to order by the name > rather > > than the id. Tried with and without an 'include', couldn't get a 'join' > to > > work. > > The include creates an outer join, not sure it's a good idea though. > > With or without an include, this fails on the sort param : > local_area.name > > which I must be referencing incorrectly? > > > > Thanks, Anthony. > > > > > > On Wednesday, November 28, 2012 6:02:06 PM UTC, Bryan Larsen wrote: > >> > >> It should work if you use fields="local_area.name" rather than > >> fields="local_area". If you need access to local_area in your view, > >> you should be able to use this_parent rather than this. > >> > >> Bryan > >> > >> > >> On Wed, Nov 28, 2012 at 10:46 AM, tonym <[email protected]> wrote: > >> > Thanks Bryan, > >> > > >> > that works, and neat too :) > >> > > >> > Just one 'gotcha' is that all the columns that are belongs_to > >> > relationships > >> > try to sort without referencing the id. > >> > e.g. http://localhost:3000/my_venues?sort=local_area is in the > 'local > >> > area' > >> > column link, but I can only get the sort with 'local_area_id'. > >> > I can work around this, but is this a fault or is there a way to sort > by > >> > 'local area' without the id - i.e. can we sort alphabetically on the > >> > parent > >> > name? > >> > > >> > Thanks, Anthony > >> > > >> > > >> > > >> > On Wednesday, November 28, 2012 2:20:58 PM UTC, Bryan Larsen wrote: > >> >> > >> >> Actually, the call to index_response is not necessary. Old > >> >> documentation was less misleading than I thought. > >> >> > >> >> def index > >> >> hobo_index do > >> >> self.this = self.this.search(params[:search], :name) if > >> >> params[:search] > >> >> self.this = self.this.order_by(parse_sort_param(:name, > >> >> :quantity)) if params[:sort] > >> >> end > >> >> end > >> >> > >> >> Bryan > >> > > >> > -- > >> > You received this message because you are subscribed to the Google > >> > Groups > >> > "Hobo Users" group. > >> > To view this discussion on the web visit > >> > https://groups.google.com/d/msg/hobousers/-/t6yw5VLjnJ4J. > >> > > >> > 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/hobousers?hl=en. > > > > -- > > You received this message because you are subscribed to the Google > Groups > > "Hobo Users" group. > > To view this discussion on the web visit > > https://groups.google.com/d/msg/hobousers/-/LxcuxPHW1RwJ. > > > > To post to this group, send email to [email protected]<javascript:>. > > > To unsubscribe from this group, send email to > > [email protected] <javascript:>. > > For more options, visit this group at > > http://groups.google.com/group/hobousers?hl=en. > -- You received this message because you are subscribed to the Google Groups "Hobo Users" group. To view this discussion on the web visit https://groups.google.com/d/msg/hobousers/-/wyr2TeQKpEcJ. 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/hobousers?hl=en.
