У меня есть этот скрипт в моем контроллере результатов:пользователей вводят результаты только один раз
distribution_sheet = DistributionSheet.find(:all, :conditions => ["lifecycle_state = ?","open"]).last
if distribution_sheet.nil?
redirect_to root_path #you could redirect somewhere else if you want
flash[:notice] = "There are currently no active EQAs"
# elsif (@result.size > 1)
# redirect_to root_path #you could redirect somewhere else if you want
# flash[:notice] = "You have already entered your EQA for EQA number #{distribution_sheet.id}"
else
flash[:notice] = "EQA number #{distribution_sheet.id} is open for submissions"
end
результат представляет собой модель. Мне нужно, чтобы пользователи вводили новые результаты, когда DistributionSheet «открыт» ТОЛЬКО ОДИН. Наверху elsif, похоже, не работает. Любой совет?
Вот где реферирована @result:
def new
@result = Result.new
distribution_sheet = DistributionSheet.find(:all, :conditions => ["lifecycle_state = ?","open"]).last
@result.distribution_sheet_id = distribution_sheet.id
10.times do
@result.specimen_results.build
end
specimen_ids = distribution_sheet.specimens.collect{|specimen| specimen.id}
@result.specimen_results.each do |specimen_result|
specimen_result.specimen_id = specimen_ids.shift
end
@result.lab_id = current_user.lab_id
end
Вам необходимо указать код, который ссылается на @result. – McStretch
Дайте мне знать, если вам удастся прочитать свой собственный код, вставленный как комментарий. Как отредактировать свой вопрос и представить его правильно? – apneadiving
не беспокойтесь о «образцах_результатах» и т. Д. @ Result.lab_id = current_user.lab_id говорит, что каждый пользователь, у которого есть свой lab_id, может просматривать только свои результаты. Мне нужно разрешить пользователю вводить результаты только один раз. – Mike