无法将关联添加到Active Records模型/表,Rails3.2.14

时间:2013-08-21 02:09:53

标签: ruby-on-rails ruby-on-rails-3 activerecord orm associations

我正在开发一个简单的作业门户网站,它使用rails中的scaffold并使用ActiveRecord作为ORM生成的表/资源很少。表:用户,工作

我的用户有两个角色,招聘人员和申请人(我使用的是rolify,cancan宝石)

以下是我执行的步骤:

1]使用scaffold生成表格。 2]运行db:migrate,我现在可以看到这些表 3]我在mode / .rb文件中添加了一些belongs_to,has_one,has_many关联。 4]运行db:migrate:reset,以重新创建包含关联的db模式 5]我在User,Jobs表中看不到任何foreign_key列。

在向表添加关联后,我需要运行什么命令才能看到表中的外键列?

注意:

1]如果我的关联不正确(语义上)那没关系,因为我最终可以改变它们。但是,当我运行rake db:migrate

时,我没有看到任何错误

2]我没有对迁移做任何更改。不知道我是否需要在那里做点什么?

Models:
    class User < ActiveRecord::Base
      rolify
      # Include default devise modules. Others available are:
      # :token_authenticatable, :confirmable,
      # :lockable, :timeoutable and :omniauthable
      devise :database_authenticatable, :registerable,
             :recoverable, :rememberable, :trackable, :validatable

      # Setup accessible (or protected) attributes for your model
      attr_accessible :role_ids, :as => :admin
      attr_accessible :name, :email, :password, :password_confirmation, :remember_me, :user_id
      validates_presence_of :email

    end


    class Job < ActiveRecord::Base
      attr_accessible :company, :desc, :location, :application_id, :applicant_id

      belongs_to :recruiters, :class_name => "User"
      has_many :applications
      has_many :applicants,:class_name => "User", through: :applications
    end

    class Application < ActiveRecord::Base
      attr_accessible :applicant_email, :applicant_name, :recruiter_id, :applicant_id, :user_id


      belongs_to :jobs
      belongs_to :applicants, :class_name => "User"
    end

0 个答案:

没有答案