4

Redmineプラグインのチュートリアルでは、コアモデルをラップする方法を説明していますが、必要なのは、ジャーナルテーブルに別の列を追加することです。ジャーナルモデルにブールフィールドを挿入する必要があります。'belongs_to:journal'関係を持つ別のモデルを作成するのはやり過ぎのようです。これはプラグインで実行できますか?私はレール初心者であることに注意する必要があります。

4

2 に答える 2

3

適切な移行を作成する必要があります。

プラグインのディレクトリにdb/migrate/update_journal.rb、次のファイルを作成します。

class UpdateJournal < ActiveRecord::Migration
    def self.up
        change_table :journal do |t|
            t.column :my_bool, :boolean
        end
    end

    def self.down
        change_table :journal do |t|
            t.remove :my_bool
        end
    end
end

次に、タスクを実行してrake db:migrate_plugins RAILS_ENV=production、データベースを新しいフィールドで更新できます。

移行を実行すると、ジャーナルデータベースには、my_bool他のすべてのフィールドと同様に呼び出すことができるフィールドが作成されます。

于 2009-11-11T15:16:14.787 に答える
0

次のコードを使用して、既存のユーザーモデルを拡張することができました。

class UpdateUsers < ActiveRecord::Migration
  def up
    add_column :users, :your_new_column, :string, :default => ''
    add_column :users, :your_other_new_column, :string, :default => ''
  end

  def down
    remove_column :users, :your_new_column
    remove_column :users, :your_other_new_column
  end
end

また、移行ファイルに番号で始まるように名前を付ける必要がありました。myplugin / db / migrate / 001_update_user.rb

于 2014-11-12T14:23:13.937 に答える