@user_id = params[:user_id]
@picture = Picture.scoped
if @user_id.present?
@picture = @picture.where("user_id not in (?)", params[:user_id])
end
@picture = @picture.rand(@picture.count).first
respond_to do |format|
format.html { redirect_to(@picture) }
format.json { render :json => @picture }
end
Я получаю следующую ошибку:
NoMethodError в PicturesController # next
закрытый метод `rand 'вызвал для []: ActiveRecord :: Relation
Вместо
@picture = @picture.rand(@picture.count).first
Я тоже пробовал
@picture = Picture.offset(rand(Picture.count)).first
и получите эту ошибку вместо:
ActiveRecord :: StatementInvalid в PicturesController # next
Mysql2 :: Ошибка: у вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы узнать правильный синтаксис для использования рядом с '0,6704131293122307' в строке 1: SELECT pictures
. * FROM pictures
LIMIT 1 OFFSET 0.6704131293122307
Что я делаю не так или как мне получить случайную запись из массива результатов? Заранее спасибо.