#rails-activerecord #unique-constraint
#rails-activerecord #уникальное ограничение
Вопрос:
Я действительно не знаю подходящего языка, чтобы задать этот вопрос; однако я пытаюсь обновить базу данных моего rails SQLite и сохранить уникальные значения. Поэтому я не хочу создавать повторяющиеся значения. В моей таблице есть столбец «X», а для столбца «X» только одно значение поля 10,20,30 или 40. однако все они могут иметь значение 0. В моем коде нет полиморфного присваивания.
Я попытался с помощью помощника очистить все значения 10s, прежде чем присваивать обновляемому полю новые значения 10.
Помощник
def clear_then_assign(number)
Gallery.where(UserCode: current_user.code).rewhere( SPCode: number).each do |nix|
nix.SPCode = nil
end
возврат (число)
конец
встроенный код:
<% if current_user.Admin == true %>
<label for="spread">Photo Spread:</label>
<br><%= f.radio_button :SPCode, clear_then_assign(10), :checked => false %> Lead
<br><%= f.radio_button :SPCode, 20, :checked => false %> Pic 2
<br><%= f.radio_button :SPCode, 30, :checked => false %> Pic 3
<br><%= f.radio_button :SPCode, 40, :checked => false %> Editorial
<br><%= f.radio_button :SPCode, 'nil', :checked => false %> NONE
<% end %>
Это не выдает мне ошибку, но абсолютно ничего не делает. Любые предложения.
Комментарии:
1. Просто любопытно, кто-нибудь понял, что я пытался здесь сказать?
Ответ №1:
Извините, я не использовал save, теперь мой код читает:
def clear_then_assign(number)
Gallery.where(UserCode: current_user.code).rewhere( SPCode: number).each do |nix|
nix.SPCode = 0
nix.save
end
возврат (число)
конец