Domanda

Il Redmine plug-tutorial spiega come avvolgere modelli di base, ma che cosa ho bisogno è di aggiungere un'altra colonna alla tabella riviste. Ho bisogno di un campo booleano inserito nel modello di riviste. Creazione di un altro modello con un 'belongs_to: rivista' relazione sembra un eccessivo. Questo può essere fatto con un plugin? Vorrei sottolineare che io sono un principiante rotaie.

È stato utile?

Soluzione

Non vi resta che creare il migrazione .

Nella directory del vostro plugin, creare il db/migrate/update_journal.rb file con il seguente:

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

Quindi è possibile eseguire l'rake db:migrate_plugins RAILS_ENV=production compito di aggiornare il database con il nuovo campo.

Dopo aver eseguito la migrazione, il vostro database di giornale avrà il campo my_bool che sarete in grado di chiamare come ogni altro campo.

Altri suggerimenti

Sono stato in grado di estendere il modello utente esistente utilizzando il seguente codice:

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

Inoltre avevo bisogno di un nome al file di migrazione in modo che esso ha avuto inizio con un numero ad es. myplugin / db / migrate / 001_update_user.rb

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top