Products 테이블이 있고 열을 추가하고 싶습니다.
t.references :imageable, :polymorphic => true
다음을 수행하여 마이그레이션을 생성하려고했습니다.
$ rails generate migration AddImageableToProducts imageable:references:polymorphic
하지만 분명히 잘못하고 있습니다. 누구든지 제안 할 수 있습니까? 감사
마이그레이션을 생성 한 후 수동으로 넣으려고 할 때 다음과 같이했습니다.
class AddImageableToProducts < ActiveRecord::Migration
def self.up
add_column :products, :imageable, :references, :polymorphic => true
end
def self.down
remove_column :products, :imageable
end
end
그리고 그것은 여전히 작동하지 않았습니다
답변
내가 아는 한 다형성 연관을위한 내장 생성기는 없습니다. 빈 마이그레이션을 생성 한 다음 필요에 따라 직접 수정합니다.
업데이트 : 변경할 테이블을 지정해야합니다. 이 SO 대답 에 따르면 :
class AddImageableToProducts < ActiveRecord::Migration
def up
change_table :products do |t|
t.references :imageable, polymorphic: true
end
end
def down
change_table :products do |t|
t.remove_references :imageable, polymorphic: true
end
end
end
답변
당신이하려는 것은 아직 안정된 버전의 레일에서 구현되지 않았기 때문에 Michelle의 대답이 현재로서는 옳습니다. 그러나이 기능은 레일 4에서 구현 될 것이며 이미 다음과 같이 에지 버전에서 사용할 수 있습니다 (이 CHANGELOG 에 따라 ).
$ rails generate migration AddImageableToProducts imageable:references{polymorphic}
답변
다음을 수행 할 수도 있습니다.
class AddImageableToProducts < ActiveRecord::Migration
def change
add_reference :products, :imageable, polymorphic: true, index: true
end
end
답변
당신은 시도 할 수 있습니다 rails generate migration AddImageableToProducts imageable:references{polymorphic}