мы используем флажок для отправки логических данных в форме.
В rails, при отправке формы, строка с "1"
или "0"
будет передана контроллеру.
В Фениксе, при отправке формы, строка с "true"
или "false"
будет отправлена на контроллер.
Хорошо, если мы напрямую создадим объект в базе данных. Любое из значений будет сохранено как логическое значение правильно.
Но если нам нужно использовать логическое значение в нашей логике c, каков наилучший способ сделать это?
- Преобразовать на булево:
# Ruby code
def create
admin = ActiveModel::Type::Boolean.new.cast(param[:admin])
if admin
....
end
end
Непосредственно использовать в качестве строки:
# Elixir code
def create(conn, params) do
case params[:admin] do
"true" -> do something
_ -> do others
end
end
Другие лучшие способы?