Oh no, the "wrong_number_or_arguments (3 for 2)" error. I have seen that before, while migrating Hobo to Rails 4. I fixed that for the accessible_associations, but I think this new belongs_to syntax escaped the testing.
If you take a look at line 106: https://github.com/Hobo/hobo/commit/473689db2f9ea9251d9b15bc95de038e7dddb967#diff-81a582d9922cd6b5919ee9ae1f508138R106 You'll see the "hack" I implemented. This syntax is very weird, because you can get the options hash as the second or the third argument. If you ask why "3 for 2", it's because the "&block" is not counted, at least to my knowledge. Short answer: You've found a bug! Workaround: Try using the old ":conditions" syntax, or setting a default scope in the model. Solution: I think we need to implement the same hack in hobo_fields. I'll open a bug and try to reproduce when I have some time. Please say if this is a blocking bug so I can priorize. Warm regards, Ignacio El 29/01/14 18:35, Tim Griffin escribió: > Hey Kevin; > > Nope, that syntax comes straight from the RailsGuides: > > http://guides.rubyonrails.org/association_basics.html#scopes-for-has-many-order > > See specifically section 4.3.3.1 <http://4.3.3.1>: > > > 4.3.3.1 |where| > > The |where| method lets you specify the conditions that the associated > object must meet. > > |class| |Customer < ActiveRecord::Base| > | ||has_many ||:confirmed_orders||, -> { where ||"confirmed = 1"| |},| > | ||class_name: ||"Order"| > |end| > > > Tim > > > > On Wed, Jan 29, 2014 at 12:29 PM, kevinpfromnm <[email protected] > <mailto:[email protected]>> wrote: > > Did you have a copy/paste issue there? -> doesn't match any ruby > syntax I know of. I would think you'd want something like :keyname > => ... in it's place. > > > On Tuesday, January 28, 2014 1:39:25 PM UTC-7, Tim Griffin wrote: > > > Hi all; > > In updating my app to Hobo 2.0.1, I'm having to make some > changes as advised by Rails 4. > > One that's tripping up Hobo 2.0.1 is converting a :conditions > parameter on a belongs_to to be a scope block. > > In a Title model, that means this: > belongs_to :condo_holding_title, :class_name => "Title", > :foreign_key => :condominium_holding_title, :conditions => > "title_type = 'CondominiumHolding'" > > Needs to become this: > belongs_to :condo_holding_title, -> { where("title_type = > 'CondominiumHolding'") }, :class_name => "Title", :foreign_key > => :condominium_holding_title > > But the revised version is throwing: > > > /Users/tgriffin/.rvm/gems/__ruby-1.9.3-p374/gems/hobo___fields-2.1.0/lib/hobo_fields/__model.rb:86:in > `belongs_to_with_field___declarations': wrong number of > arguments (3 for 2) (ArgumentError) > > As far as I can see, that method is declared with 3 arguments: > > def self.belongs_to_with_field___declarations(name, > options={}, &block) > > Why is it expecting 2? > > Tim > > -- > You received this message because you are subscribed to a topic in > the Google Groups "Hobo Users" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/hobousers/LFPHsqTg8p0/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected] > <mailto:hobousers%[email protected]>. > To post to this group, send email to [email protected] > <mailto:[email protected]>. > Visit this group at http://groups.google.com/group/hobousers. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- > You received this message because you are subscribed to the Google > Groups "Hobo Users" group. > To unsubscribe from this group and stop receiving emails from it, send > an email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/hobousers. > For more options, visit https://groups.google.com/groups/opt_out. -- Ignacio Huerta Arteche http://www.ihuerta.net Teléfono: 0034 645 70 77 35 Email realizado con software libre -- You received this message because you are subscribed to the Google Groups "Hobo Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/hobousers. For more options, visit https://groups.google.com/groups/opt_out.
