単純な検索機能を実行しようとしています。モジュール内の関数です。タイトルと説明の 2 つの列があります。しかし、エラーが発生します。投稿の代わりに、「タイトル」を選択する必要があります。
def self.search(search)
if search
find(:all, :conditions => ['name LIKE ?', "%#{search}%"])
else
find(:all)
end
end
私が得るエラーは次のとおりです。
SQLite3::SQLException: no such column: name: SELECT "posts".* FROM "posts" WHERE (name LIKE '%first%')
アップデート:
これが私のindex.html.erbファイルです。私は基本的にフォームを使用し、すべての投稿とそのコンテンツをリストしました。検索された項目のみを表示するようにファイルを変更するにはどうすればよいですか? 最初はすべてをリストする必要があります。これを行う方法を理解できません。何か案は?
<h1>Our Blog</h1>
<%= form_tag posts_path, :method => 'get' do %>
<p>
<%= text_field_tag :search, params[:search] %>
<%= submit_tag "Search", :name => nil %>
</p>
<% end %>
<% @posts.each do |post| %>
<h2><%= link_to post.title,post %></h2>
<p><%= post.content %></p>
<hr />
<%= link_to "Add a new post", new_post_path %>
<% end %>