今 app/views/microposts/home.html.erb にあります..
<% form_tag purchases_path, :method => 'get', :id => "products_search" do %>
<p>
<%= text_field_tag :search, params[:search] %>
<%= submit_tag "Search", :name => nil %>
</p>
<% end %>
<% form_tag sales_path, :method => 'get', :id => "sales_search" do %>
<p>
<%= text_field_tag :search, params[:search] %>
<%= submit_tag "Search", :name => nil %>
</p>
<% end %>
そしてmicropost.rbで私は持っています
scope :purchases, where(:kind => "purchase")
scope :sales, where(:kind => "sale")
def self.search(search)
if search
where('name LIKE ?', "%#{search}%")
else
scoped
end
end
そして最後に私が持っているmicroposts_controller.rbで
def home
@microposts=Micropost.all
@purchases=@microposts.purchases
@sales=@microposts.sales
end
現在、未定義のローカル変数またはメソッド「purchases_path」というエラーが表示され、sales_path についても同じことが起こります。
私ができるようにしたいのは、すべてのマイクロポストではなく、一部のマイクロポストのみを検索することです。私のマイクロポストテーブルには、「購入」または「販売」のいずれかになる種類という列があります。これら 3 つのコードを変更して、1 回の検索で種類が「購入」のマイクロポストのみを検索して結果を表示するにはどうすればよいでしょうか。そして、もう一方は、種類が「セール」のマイクロポストのみを検索して結果を表示します。
この質問 (別の投稿) には、RoR で 50 担当者の報奨金があります: 特定の属性を持つマイクロポストのみを検索するにはどうすればよいですか?