Ruby on rails Rails属于\u to-相关模型的选择字段
我是Rails的新手,正在寻找通往Rails的道路 现在我正在寻找在表单中使用相关模型中的值的方法。例如,我创建了两个具有*has_one*关系的模型。主表产品有一个字段unit_id-来自相关表单位的项目id 澄清:模型产品中的项目具有属性单位。一个产品有一个属性单元。模型单元中的项目是唯一的,一个项目单元可能属于产品中的多个项目 在我的表单中,我想为新产品选择unit,我可以为unitsindex打开表单,但如何在调用方表单中返回和使用所选项目 代码块: 一,。模型产品: 二,。模型单元:它没有代码Ruby on rails Rails属于\u to-相关模型的选择字段,ruby-on-rails,belongs-to,Ruby On Rails,Belongs To,我是Rails的新手,正在寻找通往Rails的道路 现在我正在寻找在表单中使用相关模型中的值的方法。例如,我创建了两个具有*has_one*关系的模型。主表产品有一个字段unit_id-来自相关表单位的项目id 澄清:模型产品中的项目具有属性单位。一个产品有一个属性单元。模型单元中的项目是唯一的,一个项目单元可能属于产品中的多个项目 在我的表单中,我想为新产品选择unit,我可以为unitsindex打开表单,但如何在调用方表单中返回和使用所选项目 代码块: 一,。模型产品: 二,。模型单元:它
class Unit < ActiveRecord::Base
end
三,。用于请求相关表单的模板:
四,。带有单位索引的表单模板,我想从中进行选择:
我的问题是:我必须怎么做?如何从“单位”表返回和使用所选项目
对我的英语很抱歉。
P.P.S.我有一些示例图像,但没有在我的问题中包含它们的声誉:
我将为您提供3种不同的选择: 1-最好的解决方案是在您的表格中列出单元列表,并在其中进行选择。更易于实施,为用户提供更好的体验 2-在表单产品\u form.unit\u id中添加一个隐藏的\u字段。然后,您可以使用来显示单位并向其添加javascript,当用户单击某个单位时,它将关闭灯箱,并使用单位id更新隐藏的\u字段值
3-在units页面中添加指向units的链接,该链接将重定向到表单页面,并传递unit\u id参数,然后在控制器中执行如下操作:@product.unit=unit.findparams[unit\u id]if params[unit\u id].present?。但是这样会丢失以前更改的数据,这肯定不是一个好的解决方案谢谢!方法1和2不适合我,因为它会将所有单元模型加载到主窗体。如果单位数不多,那就好了。现在我将尝试第三种方法。
class Unit < ActiveRecord::Base
end
<%= form_for(@product) do |product_form| %>
...
<%= product_form.label :"#{t('unit')}:"%>
<%= link_to t('unit_select'), units_path%>
...
<div class="actions">
<%= product_form.submit %>
</div>
<% end %>
<%@units.each do |unit|%>
<a href="<%=units_path%>">
<div>
<%= unit.shortname %>
<%= unit.fullname %>
<%= unit.okei %>
</div>
</a>
<%end%>