Rails params在浏览器和控制器之间丢失

时间:2016-11-24 02:16:22

标签: ruby-on-rails

我在Rails应用程序中有一个页面来创建一个Outlet。它有select标记:

<select name="outlet[alliance_id]" id="outlet_alliance_id">
  <option value="">None</option>
  <option value="95cca47e664e44ca90be7ce6cf122f74">Alliance #1</option>
</select>

但如果我选择联盟#1&#39;选项和POST表格,参数不会通过控制器:

Parameters: {
  "utf8"=>"✓",
  "authenticity_token"=>"[FILTERED]",
  "outlet"=>{
    ...
    "alliance_id"=>"",
    ...
  }
}

我在同一个对象的#edit页面上为select标签提供了一些相同的ERB代码,它运行正常。这个参数哪里可以丢失?

1 个答案:

答案 0 :(得分:0)

啊...我的坏。我在页面下面有一段旧代码,它为Outlet上的所有属性动态添加了隐藏字段,除了我指定的那些 - 我忘了它,并且没有指定alliance_id

我在将alliance_id更改为doy_yang_chee_rupatatup_tup_boing(长篇故事,一个笑话内容)并看到alliance_id 仍然通过时发现了一个参数。