0

さて、私が持っているのは、「人」の履歴を追跡するテーブルです。これは、人(ユーザー)、ハンドラー(ユーザー)、前のステータス(JobApplicationStatus)、後のステータス(JobApplicationStatus)を記録します。

今、私の頭の中で、これはそのようなテーブルに変換されます:

**求職履歴**
id (整数)
status_before_id (整数)
status_after_id (整数)
ユーザー ID (整数)
handler_id (整数)

移行を試みましたが、うまくいきましたが、正しく機能していません。

次のようなものを使用したいので:

ユーザー = User.find(1)
ハンドラ = User.find(1)
status_before = JobApplicationStatus.find(1)
status_after = JobApplicationStatus.find(2)

history = JobApplicationHistory.new()
history.user = ユーザー
history.handler = ハンドラー
history.status_before = status_before
history.status_after = status_after
history.save

これが私の移行です

class CreateUserApplicationHistories < ActiveRecord::Migration
  def self.up
    create_table :user_application_histories do |t|
      t.integer :user_id # goes to User
      t.references :job # goes to Job
      t.integer :handler_id # goes to User
      t.integer :status_from_id # goes to JobApplicationStatus
      t.integer :status_to_id # goes to JobApplicationStatus
      t.timestamps
    end

add_index("user_application_histories", "job_id")
add_index("user_application_histories", "handler_id")
add_index("user_application_histories", "user_id")
add_index("user_application_histories", "status_from_id")
add_index("user_application_histories", "status_to_id")

end

def self.down drop_table :user_application_histories end end

そして、私のモデルは失敗すると思います

class UserApplicationHistory < ActiveRecord::Base
  belongs_to :status_from_id, :class_name => "JobApplicationStatus"
    belongs_to :status_to_id, :class_name => "JobApplicationStatus"
  belongs_to :user_id, :class_name => "User"
  belongs_to :handler_id, :class_name => "User"
end

4

1 に答える 1