単純な関係を作成しようとしていますが、Rails 3.2 の下のサブディレクトリにモデルがあります
私には User クラスがあり、各ユーザーには電子メールのサブスクリプションがあります。他のタイプのサブスクリプションがあるため (これもユーザーに追加されます)、サブディレクトリに配置します。(私のユーザーはたまたまDeviseから来ていますが、それは問題ではないと思います。)
これがコードです
のmodel/user.rb
class User < ActiveRecord::Base
has_one :email_sub
before_create :build_email_subscription
private
def build_email_subscription
Subscription::EmailSub.create(:is_subscribed => true, :user_id => self.id)
true
end
end
デフォルトのサブスクリプションを追加する方法も作成したことに注意してください。
のmodel/subscriptions/email_sub.rb
class Subscriptions::EmailSub < ActiveRecord::Base
belongs_to :user
end
2 つのクラスを作成するための移行に加えて、関係のために次の移行を作成しました。
class AddSubscriptionToUser < ActiveRecord::Migration
def change_table :subscriptions_email_sub do |t|
t.referneces :users
end
end
ただし、これは機能していないようです。user_id
列を生成していないようです。