[英]Fill form.select with chekboxes and data from another model in Rails
我在 Ruby on Rails 項目中有一個產品模型和一個類別模型。 我指定的產品模型has_many :categories
,在 product_controller.rb 中,在創建操作中我創建了一個變量@categories = Category.all
。 類別將是諸如“冬季、夏季、春季、羊毛、紗線、棉花等”之類的內容,我如何使用這些值將帶有復選框的選擇放在一起,以便能夠創建與這些類別相關聯的新產品它? 我嘗試了多種方法,但我無法弄清楚。
好的,聽起來好像提到復選框是XY 問題的產物。 您真正想要的是能夠通過選擇元素將多個類別關聯到單個產品,或者更簡單地說,您想知道如何在一次選擇中啟用多項選擇。
HTML 選擇標簽有multiple
選項, API 文檔向您展示了它是如何工作的:
select(object, method, choices = nil, options = {}, html_options = {}, &block) public
方法簽名的 html_options 部分是您要傳遞multiple
選項的地方。 在你的情況下,它會是這樣的:
<%= form.select(:categories, @categories, {}, { multiple: true} ) %>
您在控制器的create
或update
獲得的 params 散列應包含用戶選擇的params[:categories]
散列。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.