Thanks Bryan, There some useful hints there. I don't quite understand why my INNER JOIN is doing the same work as my WHERE clause though. I could add the WHERE clause condition to the INNER JOIN but it is a different condition.
Did you just mean I could add it to the INNER JOIN? On Dec 12, 2:22 pm, Bryan Larsen <[email protected]> wrote: > That works, but here's a few hints. Generally, you specify the > "where" clause in ":conditions", the select clause in ":select", inner > joins in ":joins" and outer joins in ":include". (If it doesn't > matter whether it's inner or outer, use :include, giving Rails more > flexibility to rearrange the query). 'from' is deduced > automatically. It's very rare that you'd need to specify the select, > and Rails has a standard way of doing renaming > (seehttp://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMet... > : table aliasing) . The next thing we notice is that your where > clause is redundant -- your inner join is doing all the work. You > can't add a :joins condition to the belongs_to, but you can add it to > the corresponding has_many: > > has_many :classifications, :joins => :recognition_types > > Should be all you need. > > cheers, > Bryan > > > > > > > > On Sun, Dec 11, 2011 at 11:12 AM, Drammy <[email protected]> wrote: > > I got it working on the belongs_to relationship with... > > > belongs_to :classification_value, :conditions => 'classification_id IN > > ( > > SELECT > > c.id > > FROM > > classifications c > > INNER JOIN > > recognition_types rt ON c.id = rt.classification_id > > WHERE rt.id > > = #{self.recognition_type_id} > > )' > > > On Dec 8, 3:02 pm, Bryan Larsen <[email protected]> wrote: > >> This is the right place. Matt & Kevin must be busy, we haven't heard > >> from them for a while. They're probably our two most dependable > >> question answerers. > > >> There are a couple of options for you. > > >> 1) set the options attribute on your select-one > >> (http://cookbook.hobocentral.net/api_tag_defs/select-one). You'll > >> probably have to read the first part of the DRYML guide first to > >> understand your many options on you to customize the field. If you > >> get stuck, yell again. > > >> 2) use the :conditions option on your belong_to. This is probably > >> the easier option, but it might require learning a little about SQL > >> and/or Rails. In other words, what I'm saying is that learning how > >> to do #1 will probably do you more good going forward. > > >> cheers, > >> Bryan > > >> On Thu, Dec 8, 2011 at 9:05 AM, Drammy <[email protected]> wrote: > >> > Am I asking this question in the wrong place? Should I be asking this > >> > in the hobo cookbook? > > >> > Any help appreciated. even if its RTFM at page... > > >> > On Dec 5, 12:35 pm, Drammy <[email protected]> wrote: > >> >> Hi all, > > >> >> Still pretty new to all this so apologies if this is straight forward; > >> >> I have searched for solutions as it seems quite an easy problem to > >> >> solve but alas, no joy. > > >> >> I have a few models like so... > > >> >> Classification -> ClassificationValue... (where Classification > >> >> has_many ClassificationValues and ClassificationValue belongs_to > >> >> Classification) > >> >> RecognitionType -> Recognition... (where RecognitionType has_many > >> >> Recognitions and Recognition belongs_to RecognitionType) > > >> >> Fairly straight forward... There is also another couple of > >> >> relationships... > > >> >> Classification -> RecognitionType (where RecognitionType belongs_to a > >> >> Classification) > > >> >> ClassificationValue -> Recognition (where Recognition belongs_to a > >> >> ClassificationValue) > > >> >> It is the ClassificationValue dropdown box that appears on the > >> >> Recognition edit page that is causing me grief. > > >> >> I want this dropdown box to only have valid values (not all > >> >> ClassificationValues). By valid values I mean CalssificationValues > >> >> that belong_to the Classification that belongs_to the Recognition's > >> >> RecognitionType... > > >> >> Any ideas? (hope you followed that!) > > >> >> Cheers, > >> >> Drammy > > >> > -- > >> > You received this message because you are subscribed to the Google > >> > Groups "Hobo Users" 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 > >> > athttp://groups.google.com/group/hobousers?hl=en. > > > -- > > You received this message because you are subscribed to the Google Groups > > "Hobo Users" 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 > > athttp://groups.google.com/group/hobousers?hl=en. -- You received this message because you are subscribed to the Google Groups "Hobo Users" 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/hobousers?hl=en.
