gpt4 book ai didi

mysql - 基于关联 Rails 4 的搜索查询

转载 作者:行者123 更新时间:2023-11-29 00:05:17 25 4
gpt4 key购买 nike

我正在使用 Rails4。我想搜索所有属于 metal_type 的产品:Gold.metal_type 在 metal_spec 表中。Product belongs_to metal_spec, metal_type 是 boolean,如果它是 1 那么它是 Gold。

产品.rb

def self.search(query)
self.joins(:metal_spec).to_a.where(metal_type: "#{query}")
end

在产品 Controller 中

@products = Product.search(params[:search]).to_a

在模板中

<%= form_tag(sub_category_products_path(params[:sub_category_id]), :method => "get", id: "search-form") do %>
<%= select_tag "search", "<option>0</option><option>1</option>".html_safe%>
<%= submit_tag "Search", :name => nil %>
<% end %>

它不工作,请帮助。提前致谢

最佳答案

这段代码应该做到这一点:

# product.rb
def self.search(query)
self.joins(:metal_spec).where(metal_spec: { metal_type: query })
end

此外,对您的 select_tag 做一点改进:

select_tag "search", options_for_select([0, 1])

如果您想使用 radio_button_tag 而不是 select_tag:

radio_button_tag 'search', 0, params[:search] == '0'
radio_button_tag 'search', 1, params[:search] == '1'

关于 rabio_button_tag 的文档在这里:http://apidock.com/rails/ActionView/Helpers/FormTagHelper/radio_button_tag

radio_button_tag(name, value, checked = false, options = {})

关于mysql - 基于关联 Rails 4 的搜索查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27828030/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com