我正在製作一個Rails 4應用程序,這是一個博客,我希望能夠在網站上搜索帖子的標題。我使用find方法來「搜索」帖子的標題和show方法以顯示結果。無論如何,都沒有找到顯示。使用Rails 4進行搜索時出現問題?
def find
@params = params[:post]
title = @params[:title]
@post = Post.find_by_title(@params[:title])
respond_to do |format|
if @title != nil
format.html {render :action => :show}
else
format.html { render :action => :not_found }
end
end
end
def show
id = params[:item][:id]
@post = Post.find_by_title(@params[:title])
respond_to do |format|
if @post != nil
format.html
else
format.html{render :action => "not_found"}
end
end
end
下面是關於搜索
<h2>Find a post</h2>
<h3><%= form_for :post, :url => {:action => :find} do |form| %>
<p><label for="title">Name:</label>
<%= form.text_field :title, :size => 20 %></p>
<p><%= submit_tag "Find a Post" %></p></h3>
<% end %>
附註:您的解決方案只能找到完全匹配。如果你想要更多的點擊,你可以使用'Post.where'標題,比如'','%#{@ params [:title]}%「' – froderik