ちなみに

has_many :magazines, :through => :subscription

としておくと、

c1.magazines << m1

でOKのはず。
あと、c1は必ず実体が必要なんで、newで作った場合は先にsaveしておく