填写表格.在Rails中使用复选框和来自另一个模型的数据进行选择



我在Ruby on Rails项目中有一个产品模型和一个类别模型。产品模型I指定了has_many :categories,并且在product_controller中。在创建操作中,我创建了一个变量@categories = Category.all。类别将是诸如"冬季,夏季,春季,羊毛,纱线,棉花等"之类的东西,我如何使用这些值来组合一个带有复选框的选择,以便能够创建一个与这些类别相关联的新产品?我试了好几种方法,但就是想不出来。

好的,所以听起来好像提到复选框是XY问题的一个工件。您真正想要的是通过一个select元素将多个类别与单个产品关联起来的能力,或者更简单地说,您想知道如何在一次选择中启用多个选择。

HTML选择标签有一个multiple选项,API文档告诉你它是如何工作的:

select(object, method, choices = nil, options = {}, html_options = {}, &block) public

方法签名的html_options部分是你想传递multiple选项的地方。在您的例子中,应该是这样的:

<%= form.select(:categories, @categories, {}, { multiple: true} ) %>

在控制器的createupdate中获得的参数哈希值应该包含用户选择的params[:categories]哈希值。

相关内容