我正在尝试创建一个简单的关系,但在 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
除了创建两个类的迁移之外,我还为关系创建了以下迁移。
class AddSubscriptionToUser < ActiveRecord::Migration
def change_table :subscriptions_email_sub do |t|
t.referneces :users
end
end
但是,这似乎不起作用。它似乎没有生成该user_id
列。