簡單的問題,在這裏 我想基於什麼樣的環境我的應用程序部署在定義在我的控制器中的變量。具體來說,我想通過名稱中的任何字符串或部分字符串搜索產品,在我的開發中使用SQL術語LIKE。環境和iLIKE在生產環境中。控制器的操作依賴於環境
這是我,但我運行到一個無效的語句錯誤。我用ruby和rails很綠,所以我認爲這可能是一個語法錯誤。思考?
謝謝!
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? ==「開發」,「Rails.env.development?」就足夠了。我在這裏沒有看到任何錯誤,但是,在我的env上嘗試'ilike'會拋出一個錯誤,因爲我沒有安裝該擴展名...您是否安裝了它? –
啊哈,我認爲這會工作,但我去'如果Rails.env ==「發展」建設,而不是因爲它的工作,我先試了一下。有趣的是,我不必安裝擴展。我正在部署heroku,所以也許它支持?我會更多地研究它併發布答案。謝謝 – Keenanp