Мне было интересно, нужно ли мне создавать пользовательскую проверку для следующего сценария.Проверьте, существует ли запись в Model Rails
У меня есть модель Prediction, в которой пользователь представляет свои предсказанные оценки для набора футбольных матчей, они сгруппированы по fixture_date.
Если пользователь уже представил прогнозы для этих игр, я бы хотел показать сообщение об ошибке, в котором они не могут быть отправлены с ошибкой, или, может быть, не показывать форму, если существуют предсказания для дат. Могу я создать несколько наборов прогнозов для тех же игр. Вероятно, проверка была бы лучше. Как бы я сказал, что если предсказание существует для этой даты для current_user, то не отправляйте?
Так что моя установка выглядит как это до сих пор
class Prediction < ActiveRecord::Base
attr_accessible :home_team, :away_team, :home_score, :away_score, :fixture_date, :fixture_id, :user_id
has_one :fixture
end
class Fixture < ActiveRecord::Base
attr_accessible :home_team, :away_team, :fixture_date, :kickoff_time, :prediction_id
end
Предсказания Контроллер
def index
@predictions = current_user.predictions if current_user.predictions
end
def new
@prediction = Prediction.new
end
def create
begin
params[:predictions].each do |prediction|
Prediction.new(prediction).save!
end
redirect_to root_path, :notice => 'Predictions Submitted Successfully'
rescue
render 'new'
end
end
end
Вы забыли own_to: предсказание в вашей модели прибора, возможно, это вызывает ошибку. – Mattherick