Rails find_by новый столбец - PullRequest
       0

Rails find_by новый столбец

0 голосов
/ 26 февраля 2020

Я новичок в рельсах,

Я добавил новый столбец «control_id» в таблице пользователей, и то же самое добавлено в файл модели в

attr_accessible :control_id

Но когда я использую find_by_control_id (1). Я получаю неопределенную ошибку метода. Нужно ли добавлять столбец где-нибудь еще?

код:

search_id = User.find_by_control_id(1).id

в webhook я получу control_id, мне нужно использовать control_id, чтобы найти идентификатор в таблице пользователей

Спасибо

Ответы [ 2 ]

1 голос
/ 26 февраля 2020

Похоже, что в вашей БД нет user с control_id 1, поэтому выдает ошибку undefined method id for nilClass. Вам нужно как-то обработать это в вашем контроллере, как я перенаправляю на root_path, если запрос возвращает nil.

search_id = User.find_by_control_id(1).try(:id)
redirect_to root_path if search_id.nil?

Надеюсь, это поможет!

0 голосов
/ 26 февраля 2020

Хотите знать, где будет работать?

User.where(control_id: 3)

или

User.find_by(control_id: params[:control_id]) 

т.е. User.find_by(control_id: 3)

Вы всегда можете сделать user = User затем pp user.methods Это покажет вам все доступные методы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...