Rails,如何按类别搜索功能显示所有产品?

时间:2018-03-31 16:58:55

标签: ruby-on-rails ruby search associations one-to-many

现在我想为我的项目添加一些添加搜索功能。我有2个关于产品和类别的表,然后我使用了一对多的关系。当我想按类别搜索我的产品时,我会陷入困境。这是我的代码:

products_controller.rb:

host=Electricity earliest=-4w@w1 latest=+w@w1 | timechart span=1d last(live_day_kw) as Kw

的routes.rb

def index
  @product = Product.all
  render json: @product, status: :ok 
end

def search    
 @category = Category.find(params[:category_id])
 @product = @category.products

 render json: @product, status: :ok
end

def show
  render json: @product, status: :ok
end

模型 category.rb

Rails.application.routes.draw do  
namespace :v1 do 

  resources :products
  resources :categories


  post 'products/search', to: "products#search"
  get 'products/search', to: "products#search"

  end
end

模型 product.rb

class Category < ApplicationRecord
  has_many :products
end

我的产品表格字段

class Product < ApplicationRecord
  belongs_to :category
end

我的表类别字段

  t.integer :category_id
  t.string :product_name
  t.string :company
  t.text   :description
  t.string :logo_img
  t.string :web_link

如何分类显示所有产品? 谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

添加您的categories_controller.rb,如下所示     categories_controller.rb       def show         category = Category.find(params [:id])         渲染json:category.products,status :: ok       结束     端

并访问/categories/:id网址