On Nov 15, 11:06 pm, John Merlino <[email protected]> wrote:
> this error usually occurs when trying to mix 1st and 2nd order
> relationships in a single to_json call:
>
> undefined method `macro' for nil:NilClass
>
> Rails 3 has this way to support 2nd order relationships:
>
> http://apidock.com/rails/ActiveRecord/Serialization/to_json
>
> So I try to use it:
>
>         @units = User.where(:id =>
> params[:user_id]).first.units.to_json(:include => {
>         :only => :reports,
>         :notifications => {:include => {:only
> => :notification_codes} }
>         })
>
> A unit has many reports and notifications. And a notification belongs
> to notification code.
>

There is an example of second order include & only on the page you
link to. You're using :only to refer to association names whereas only
is supposed to denote which attributes you want to show for a given
object so i think you are confusing to_json. something like :include
=> {:reports, :notifications => :notification_codes} should do the
trick.

Fred

:include => {:notifications, :only => :reports, :include => {:
> This is the relationship between notifications and notification codes:
>
> //notifications
>   belongs_to :notification_code, :foreign_key => :code
>
> //notification codes
>   has_many :notifications
>
> So I am not sure why error occurs.
>
> Thanks for response

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" 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/rubyonrails-talk?hl=en.

Reply via email to