最近Railsでのアプリ開発をはじめました。
非常に初歩的な質問かもしれませんが、
現在、Articleモデル内のデータ検索というシンプルな検索画面をransackを利用して作成しています。
↓↓↓ Articleモデル ↓↓↓
id : integer
result : json
created : datetime
↓↓↓ Controller ↓↓↓
ruby
1class ArticlesController < ApplicationController 2 def index 3 @q = Article.ransack(params[:q]) 4 @data = @q.result.order(:id) 5 end 6end
↓↓↓ View(Form部分) ↓↓↓
ruby
1<%= search_form_for(@q, :url => {:controller => :article, :action => :index}) do |f| %> 2 <div class="input-field"> 3 <div class="col s12"> 4 <%= f.text-field :result_cont %> 5 <%= f.label :result_cont, "検索キーワード" %> 6 </div> 7 <div class="row col s12"> 8 <%= f.submit "Search", :class => "waves-effect waves-light btn" %> 9 </div> 10 </div> 11<% end %> 12
↓↓↓ 出力されるSQL ↓↓↓
sql
1SELECT `articles`.* 2 FROM `articles` 3 WHERE (`articles`.`result` LIKE '\"%a%\"') 4 ORDER BY `articles`.`id` ASC
期待している結果はWHEREの部分が
WHERE (articles
.result
LIKE '%a%')
なのですが、自動的にダブルクオーテーションが付きエスケープされてしまっています。
Google等で検索したのですが、同様の現象がでてこず。。。
ご存知の方がいらっしゃれば解決策を教えてください。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。