Простой вопрос здесь Я пытаюсь определить переменную в своем контроллере на основе какой среды развертывается мое приложение. В частности, я хочу искать продукты по любой строке или частичной строке в имени , используя термин SQL LIKE в моем dev. окружающей среды и iLIKE в производственной среде.Действия контроллера, зависящие от среды
Это то, что у меня есть, но я столкнулся с неправильной ошибкой оператора. Я довольно зеленый с рубинами и рельсами, поэтому я думаю, что это может быть синтаксическая ошибка. Мысли?
Спасибо!
products_controller:
def index
if Rails.env.development? == "development"
name_env = "name LIKE ?"
else
name_env = "name ilike ?"
end
if params[:q]
search_term = params[:q]
@products = Product.where(name_env, "%#{search_term}%")
else
@products = Product.all
end
end
вам не нужно спрашивать 'Rails.env.development? == "development" ',' Rails.env.development? 'достаточно. Я не вижу никаких ошибок здесь, но, пытаясь, что 'ilike' на моем env выдает ошибку, потому что у меня нет установленного расширения ... у вас он установлен? –
Ага, я думаю, что это сработает, но я пошел с конструкцией «if Rails.env ==», потому что это сработало, и я сначала попробовал. Интересно, мне не нужно было устанавливать расширение. Я развертываю на герою, так что, возможно, это поддерживается? Я рассмотрю его больше и опубликую ответ. Спасибо – Keenanp