0

一連のスタディを作成できる状況を作成しようとしています。だから私はシリーズと呼ばれるテーブルを持っています。各シリーズには名前があります。各シリーズ各種ございますhas_many :parts。そのため、 Part というテーブルと it がありbelongs_to :seriesます。次に、各パートhas_many :questionsと私の質問テーブルbelongs_to :part。これらの各テーブルを互いに関連付ける必要があるため、移行を次のように設定します。

 class CreateSeries < ActiveRecord::Migration
   def self.up
     create_table :series do |t|
       t.string :name


       t.timestamps
     end
   end
   def self.down
       drop_table :series
   end
 end


class CreateParts < ActiveRecord::Migration
  def self.up
    create_table :parts do |t|
       t.date :date
       t.string :book
       t.integer :series_id

       t.timestamps
  end
    add_index :parts, [:series_id, :created_at]
  end

  def self.down
    drop_table :parts
  end
end



  class CreateQuestions < ActiveRecord::Migration
     def self.up
         create_table :questions do |t|
            t.text :body
            t.integer :part_id

            t.timestamps
         end
            add_index :questions, [:part_id, :created_at]
      end

      def self.down
         drop_table :questions
      end
   end

そのため、データベースを移行し、SQLite DB Browser を使用して、質問テーブルにあるparts_idべきものがあります。私の部品テーブルには列が必要ですが、series_id列がありません。誰かがこの問題を手伝ってくれませんか? ありがとう。

4

2 に答える 2

1

シリーズ列がデータベースにないのはなぜですか。安全なチェックを実行してもよろしいですか? モデル ジェネレーターをもう一度実行してみてください。今回はこのように実行します

rails g model part date:date book series:belongs_to同じ問題が発生するかどうかを確認します。これが役立つことを願っています。または、コンソール ウィンドウでランダムなシリーズ ID を使用して新しいパーツを作成し、複数形の問題があるかどうかを確認することもできます。

于 2012-09-26T02:28:49.593 に答える
0

アプリケーション コンソールを開き、rails cと入力しPartます。

属性が表示されますseries_id

その場合、解決策は単にサーバーを再起動することです。

于 2012-09-26T02:36:58.880 に答える