Category: daily learning

  • foreigner foreign_key on a different column in source and target table.

    In the foreigner gem, you can specify the foreign_key column on the source table by using the column option. class Cats < ActiveRecord::Migration def change create_table :cats do |t| t.integer :color_id t.integer :second_color_id t.timestamps end add_foreign_key :cats, :colors, column: :second_color_id end end But what about the target table? This can be accomplished using the primary_key…

  • 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…

  • Passing Additional Arguments to FactoryGirl Factories

    I wanted to create a factory that would link various states to my model, but from a specified list instead of automatically generated. I discovered that these are transient attributes: FactoryGirl.define do factory :business do name “MyString” # # # trait :with_states do ignore do state_list [] end # add association equal to state code…