Size: a a a

2019 September 23

T

Timur in pro.ruby
делать updata на модели, не пихая в него password
источник

AS

Alexandr Shapalov in pro.ruby
хорошо, тогда прийдестся убрать из модели User валидацию

class User < ApplicationRecord
validates :password

как тогда валедировать пассворд?
источник

AS

Alexandr Shapalov in pro.ruby
Timur
делать updata на модели, не пихая в него password
кстати, мы используем же params
@user.update(user_params)
Поэтому ничего не нужно менять, все будет обновлятся, даже если нету пароля
источник

AS

Alexandr Shapalov in pro.ruby
ух этот rails

оказыватеся можно просто добавить  on: :create

validates :password, presence: true, on: :create
источник

VK

Vasya Kuzmik in pro.ruby
Alexandr Shapalov
хорошо, тогда прийдестся убрать из модели User валидацию

class User < ApplicationRecord
validates :password

как тогда валедировать пассворд?
Какую конкретно валидацию?
источник

AS

Alexandr Shapalov in pro.ruby
я ж писал, пароля)
источник

VK

Vasya Kuzmik in pro.ruby
Vasya Kuzmik
Какую конкретно валидацию?
Окей , я дочитал
источник

AS

Alexandr Shapalov in pro.ruby
уже решил, спс
источник

VK

Vasya Kuzmik in pro.ruby
Alexandr Shapalov
ух этот rails

оказыватеся можно просто добавить  on: :create

validates :password, presence: true, on: :create
Попробуй сделать апдейт и передать пустой пароль
источник

VK

Vasya Kuzmik in pro.ruby
Буквально пустую строку
источник

AS

Alexandr Shapalov in pro.ruby
так все работает. уже проверил
источник

RP

Roman Patkin in pro.ruby
а можно сразу делать нормально и валидировать отдельно от модели
источник

AS

Alexandr Shapalov in pro.ruby
валидация будет срабатывать только на создании, поэтому при редактировании можно что угодно менять
источник

AS

Alexandr Shapalov in pro.ruby
Roman Patkin
а можно сразу делать нормально и валидировать отдельно от модели
что ты имеешь в виду?
источник

VK

Vasya Kuzmik in pro.ruby
Alexandr Shapalov
валидация будет срабатывать только на создании, поэтому при редактировании можно что угодно менять
Так у тебя тогда юзер себе пустой пароль может поставить
Разве нет?
источник

AS

Alexandr Shapalov in pro.ruby
нет не может поставить пустой пароль.
источник

AS

Alexandr Shapalov in pro.ruby
validates :password, presence: true, on: :create
источник

RP

Roman Patkin in pro.ruby
Alexandr Shapalov
что ты имеешь в виду?
Я имею в виду, что не надо использовать валидации ar, а провалидировать параметры в другом месте, тогда у тебя не будет костылей типа on: :create. Вот захочет пользователь сменить пароль, как будешь разруливать?
А для консистентности данных есть констрейнты в бд
источник

AS

Alexandr Shapalov in pro.ruby
Нет, это совсем не туда ты рекомендуешь.

Это не костыль) научишь отличать костыли от методов AC из коробки
источник

VK

Vasya Kuzmik in pro.ruby
Alexandr Shapalov
Нет, это совсем не туда ты рекомендуешь.

Это не костыль) научишь отличать костыли от методов AC из коробки
Метод ас из коробки может быть костылем
источник