Редактировать См. Ниже:
class Post < ActiveRecord::Base
last_user_id = User.last.id
validates_inclusion_of :user_id, :in => 0..last_user_id
end
Вышеупомянутое решение работает, но, как поясняет Войло, один раз в производстве код будет выполнен только один раз, а затем модель будет проверена на неправильность.диапазон пользователей.
Я работаю над учебником (rails 3.0.3) и последние полчаса пытался выяснить, как сказать rails, что один из классов в моей модели должен убедиться, что: user_id находится в диапазоне от нуля до user_id последнего пользователя в базе данных.
Я знаю, что мне нужно использовать:
validates_inclusion_of :user_id, :in 0..(can't figure out this piece)
Я смог легко убедиться, что введенный номердля User_ID в числовом виде с:
validates_numericality_of :user_id
Я ищу информацию о том, где это исследовать, я внимательно изучил документацию по валидаторам ActiveRecord и не нашел там много.