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.

Reply via email to