ここで簡単な質問 私は私のアプリがで展開されているものの環境に基づいて私のコントローラ内の変数を定義しようとしている。具体的には、私は名前に任意の文字列または部分文字列で製品を検索します私の開発者でSQLのLIKEを使用しています。環境、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? 'で十分です。私はここにエラーは表示されませんが、私のenvで 'ilike'を実行しようとすると、その拡張機能をインストールしていないのでエラーがスローされます...インストールしましたか? –
Aha、これはうまくいくと思うけど、もしRails.env == "開発"の代わりに建設をしていたのですが、それが働いてから最初に試しました。興味深いことに、私は拡張機能をインストールする必要はありませんでした。私はherokuに展開しているので、おそらくサポートされていますか?私はそれをさらに調べ、回答を投稿します。ありがとう – Keenanp