0
我正在爲我的帖子搜索創建一個表單。我做這樣的....搜索功能在紅寶石軌道上不工作
ERB形式碼...
<%= form_tag '/posts/search-post', :remote=> "true" do %>
<p>
<%= text_field_tag :search, params[:search], :placeholder => "Search Posts..." %><br/>
<%= radio_button_tag :day, 1, params[:day] %>None
<%= radio_button_tag :day, 2, params[:day] %>Last Week
<%= radio_button_tag :day, 3, params[:day] %>Last Month<br/>
<%= submit_tag "Search", :onclick => "document.getElementById('spinner').style.visibility='visible';document.getElementById('postlist').style.visibility='hidden'" %>
</p>
<% end %>
root.rb
match 'posts/search-post', to: 'posts#search_post'
posts_controller.rb
def search_post
if !params[:search].blank? && params[:day].blank?
@posts = Post.paginate(page: params[:page],:per_page => 5).search(params[:search])
elsif params[:search].blank? && !params[:day].blank?
@posts = Post.paginate(page: params[:page],:per_page => 5).all if params[:day] == "1"
@posts = Post.paginate(page: params[:page],:per_page => 5).where("created_at >= ?", 1.week.ago.utc) if params[:day] == "2"
@posts = Post.paginate(page: params[:page],:per_page => 5).where("created_at >= ?", 1.month.ago.utc) if params[:day] == "3"
elsif !params[:search].blank? && !params[:day].blank?
@posts = Post.paginate(page: params[:page],:per_page => 5).search(params[:search]) if params[:day] == "1"
@posts = Post.paginate(page: params[:page],:per_page => 5).search(params[:search]).where("created_at >= ?", 1.week.ago.utc) if params[:day] == "2"
@posts = Post.paginate(page: params[:page],:per_page => 5).search(params[:search]).where("created_at >= ?", 1.month.ago.utc) if params[:day] == "3"
else
end
end
Post.rb模型
def self.search(search)
search_condition = "%" + search + "%"
if search
find(:all, :conditions => ['lower(content) LIKE ? OR lower(title) LIKE ?', search_condition.downcase,search_condition.downcase])
else
find(:all)
end
end
搜索post.js.erb
$("#posts_list").html("<%= escape_javascript(render(:partial => "posts")) %>");
當我通過關鍵字和天類型,然後搜索不工作(讓所有文章列表項)進行搜索。我不知道我錯在哪裏。請幫忙。
究竟哪些方法無效? – okodo
當兩個字段(搜索和日期字段)不爲空時,搜索不起作用('AND'操作不起作用)。 –
「搜索無法正常工作」 - 意味着您收到錯誤或者錯誤或沒有數據? – 2013-05-16 10:19:26