Rails在表单提交上设置值

时间:2012-07-24 15:44:16

标签: ruby-on-rails

我正在尝试在选择下拉项时自动填充字段,或者在调用create方法时查找并设置属性。具体来说,mid(MachineID)位于不同的类(Part)中。 Partconfig belongs_to Part。部分有很多Partconfig。

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 = PartConfig.new(params[:part_config])
 @part_config.mid = Part.find_by_name(params[:name]).select("mid")

哪个不起作用。

1 个答案:

答案 0 :(得分:0)

我删除了该行

@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

完全是我想要的!