Я начинаю изучать Ajax с рельсами.
У меня есть страница индекса каталога с text_field_tag, запрашивающей БД, если он находит похожие результаты «раздела».
index.html.erb
<h1>Catalogs</h1>
<label>Search by Section:</label>
<%=text_field_tag :section %>
<%= observe_field(:section,
:frequency=> 0.1,
:update=> "article_list",
:url=>{ :action => :get_article_list }) %>
<div id="article_list"></div>
Catalogs_controller.rb
def index
end
def get_article_list
@section = request.raw_post.split(/&/).first
@catalogList = "<ol>"
Catalog.find(:all, :conditions => ["section = ?", @section]).each do |catalog|
@catalogList += "<li><a href=\"" + catalog.url + "\">" + catalog.title + "</a></li>"
end
@catalogList += "</ol>"
render :text => @catalogList
end
Вопрос:
request.raw_post отображает что-то вроде:
xml&authenticity_token=tgtxV3knlPvrJqT9qazs4BIcKYeFy2hGDIrQxVUTvFM%3D
поэтому я использую
request.raw_post.split(/&/).first
чтобы получить запрос раздела ("xml"). Это работает, однако, как я могу это сделать, если в запросе есть пробел. (например, «Открытый исходный код») На самом деле, в моей базе данных есть разделы с открытым исходным кодом, но request.raw_post.split (/ & /). сначала отображает Open% 20Source. Как я могу справиться с этим? Нужно ли было использовать полнотекстовую поисковую систему, чтобы достичь этого, или есть другой способ?
Большое спасибо за ваше объяснение!