Ruby on rails Rails在表单提交上设置值

Ruby on rails Rails在表单提交上设置值,ruby-on-rails,Ruby On Rails,我试图在选择下拉项时自动填充字段,或者在调用create方法时查找并设置属性。特别是位于不同类别(零件)中的mid(机器ID)。Partconfig属于Part。Part有许多Partconfig 零件配置 <div class="field"> <%= f.label :name %><br /> <%= f.select :Part_id, Part.all.collect{ |c| [c.name, c.id] } %>

我试图在选择下拉项时自动填充字段,或者在调用create方法时查找并设置属性。特别是位于不同类别(零件)中的mid(机器ID)。Partconfig属于Part。Part有许多Partconfig

零件配置

<div class="field">
    <%= f.label :name %><br />
    <%= f.select :Part_id, Part.all.collect{ |c| [c.name, c.id] } %>
  </div>
  <div class="field">
    <%= f.label :mid %><br />
    <%= f.number_field :mid %>
  </div>
这不起作用。

我删除了该行

@part_config.mid = Part.find_by_name(params[:name]).select("mid")
我试图让用户从下拉列表中选择mid,这是不必要的。选择名称会产生协会允许我调用的part_id

@part_config = PartConfig.includes(:part).find(params[:id])
这将返回PART_CONFIG和相关的PART,允许我在视图中执行此操作:

@part_config.part.mid

结果正是我想要的

看起来您正在使用表单_。表格是什么?这将更改传递的参数。例如,如果您有(@object)的形式_,则参数名称将显示为{:object=>{:name=>'这是一个名称'}}。这可能就是为什么params[:name]什么也没找到。
@part_config.part.mid