У меня есть моя строка как «12-22-2015». Его в формате MM-DD-YYYY. Как я могу проверить, имеет ли double «-», а также в формате MM-DD-YYYY.Формат даты в рубине
В принципе мне нужно проверить, если дважды - присутствует, то используйте
Message.includes(:user)
.select('messages.*, users.name')
.where("messages.created_at::date = ?" , Date.strptime(@query, "%m-%d-%Y"))
.paginate(:page => params[:page], :per_page => 5)
запрос еще использовать
Message.includes(:user)
.select('messages.*, users.name')
.where("users.name ilike ? OR messages.to ilike ?" ,"%#{@query}%", "%#{@query}%")
.paginate(:page => params[:page], :per_page => 5)
Я добавил
Message.includes(:user).select('messages.*, users.name')
.where(
"users.name ilike ? OR messages.to ilike ? OR messages.created_at::date = ?",
"%#{@query}%",
"%#{@query}%",
Date.strptime(@query, "%m-%d-%Y")
)
.paginate(:page => params[:page], :per_page => 5)
запрос, но получил ошибку ArgumentError: invalid date
если @query
это не дата.
Как я могу добавить его в мой запрос: @messages = Message.includes (пользователь): ('* сообщений, users.name') .Select где (. "users.name ilike? OR messages.to ilike? OR messages.created_at :: date =?", "% # {@ query}%", "% # {@ query}%", Date.strptime (@query, «% m-% d-% Y»)). paginate (: page => params [: page],: per_page => 5) – Neha