在我的遷移文件中,我有一個值應該是唯一的變量或nil
。我怎麼能實現這樣的?我目前的設置會產生各種驗證錯誤,我認爲是因爲零值不是唯一的,並且在當前設置中它希望看到一個唯一的值。遷移:如何使它成爲索引,同時仍然允許零值?
我目前有:
遷移文件:
class CreateUsers < ActiveRecord::Migration
def change
create_table :users do |t|
t.string :my_var
...
end
end
end
class AddIndex < ActiveRecord::Migration
def change
add_index :users, :my_var, unique: true
end
end
型號文件:
validates :my_var, uniqueness: true
有沒有一種方法,以允許它被nil
,需要一個獨特的價值,如果它有一個價值,並使其成爲一個指數?
你的意思是准許*一個*行的NULL值或任何數量的行的NULL值?無論哪種情況,您都可以擁有獨特的約束條件和/或索引。 1:http://stackoverflow.com/a/8289253/939860。 2:http://stackoverflow.com/a/20154518/939860 –