使用不在模型中的字段提交rails表单

时间:2016-07-05 19:58:09

标签: ruby-on-rails forms

我需要提交一个表单,其中包含不属于该模型的选择。保存操作后我需要此值用于其他操作,但我收到错误:

undefined method `tecnico' for #<Interventi:0x9802cf8>

这是我表格的一部分:

<%= form_for :interventi, url: welcome_nuovointerventosalva_path do |f| %>

<div class="row">


    <div class="col-md-2">
        <%= f.label :data, 'Data creazione' %>
  <div class="form-group input-group">
    <span class="input-group-addon"> <i class="fa fa-calendar"></i> </span>
    <%= f.text_field :data, :class => "date-picker form-control input-mini", readonly: true, :value => Time.now.strftime("%Y/%m/%d")  %>
    <!--<span class="help-block">formato YYY-MM-DD</span> -->
  </div>
    </div>

    ....................................
    ....................................

    <div class="col-md-3">
        <%= f.label 'Tecnico' %>
        <div class="form-group input-group">
            <%= f.select :tecnico, options_for_select(@tecnici.collect{ |tec| [tec.nome, tec.id] }), {}, class: 'form-control search-select' %>
        </div>
    </div>

这是控制器

 def nuovointervento
@titolo = "Nuovo Intervento"
@interventi = Interventi.new
@clienti = Clienti.all.order(:nome)
@categorie = Categorie.all
@tecnici = Utenti.where(operatore: '1').order(:nome)

private
def parametri_intervento
  params.require(:interventi).permit(:cliente_id, :data, :intervento, :note, :chiuso, :codice, :operator_id, :monteore, :categoria, :referente)
end

是的,该领域&#39; tecnico&#39;不属于Interventi模型,但是在后期操作中,保存后,我需要使用tecnico_id和创建的&intervento&#39; id(它是一个连接表)

我该如何解决?

坦克你!

2 个答案:

答案 0 :(得分:2)

对不起,正如MageeWorld所说,这篇文章是重复的。

answare in Form field not part of rails db model 解决了我的问题!

感谢所有

答案 1 :(得分:0)

@EffeBi在控制器中允许此属性,例如其他属性,例如:数据