Tag: activerecord

  • has_many :through, self referential models

    Hat tip to [has_many :through self-referential example] that sent me down the correct path on this. The challenge I had went a little deeper than the aforementioned post, however. I’m going to reuse the friend example, but with a twist. class Person < ActiveRecord::Base # id :integer end class Friendship < ActiveRecord::Base # source_friend_id :integer…

  • Principle of Least Surprise (Astonishment), foreign keys, and Rails

    In yesterday’s post, I sorted through the foreigner gem to figure out how to change the reference column (primary key) that a foreign_key maps to. The problem here is that, unless your Rails project(s) has grown up referencing “natural” primary keys instead of the autoincremented id implicit in an ActiveRecord::Migration, avoiding creating surprise by not…

  • includes and has_many :through associations

    I’ve been trying to mentally absorb how includes and associations work when trying to query a has_many :through association. My understanding at this point: The symbol in the includes() is the same as the association name on whatever model you have. For example: class Account < ActiveRecord::Base has_many :account_destinations has_many :destinations, through: :account_destinations end class…