Search code examples
ruby-on-railsruby-on-rails-4models

Rail3 to Rails 4; changing conditions to where


When upgrading to Rail4, I changed conditions to where in the model but I'm now getting a syntax error ( syntax error, unexpected '}', expecting keyword_end)

has_many :businesses, through: :business_admins, { where business_admins: { state: 'accepted'} }

Solution

  • Change it to this:

    has_many :businesses, 
      -> { where(business_admins: { state: 'accepted'}) }, 
      through: :business_admins
    

    Also see the Rails documentation.