【问题标题】:Passing parameter valued to number_field将参数值传递给 number_field
【发布时间】:2013-05-19 11:35:12
【问题描述】:

将参数传递给数字字段的视图代码

<%= f.number_field :cap, :value => params[:cap] %>

没有返回参数,正如 HTML 代码所证明的那样

<input class=" number_field" id="azienda_cap" name="azienda[cap]" size="30" type="text" value="" />

但是,对于表单中的所有其他对象(text_field、text_area、collection_select),值是从 URL 填充的

/aziendas/new?action=show&cap=20081&cognome=J&comune= ...

并且在参数上调试确实有状态

cap: "20081"

API 在这里没有提供任何特别的线索

【问题讨论】:

    标签: ruby-on-rails-3.2


    【解决方案1】:

    该值应作为 f.number_field 的第二个参数传递,而不是作为键值对传递(有关详细信息,请参阅 http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html#method-i-number_field_tag

    因此,要解决您的问题,请尝试将视图中的代码更改为:

    &lt;%= f.number_field :cap, params[:cap] %&gt;

    【讨论】:

    • 返回 can't convert Symbol into Integer 错误。我先把它记下来了。我记得在 text_field 中处理数字更好。瞧瞧 params[:cap] %> 工作!谢谢你的想法,它催化了一些东西......
    【解决方案2】:

    尽管变量是作为整数创建的,但使用 text_field 定义表单时会采用参数值。

    <%= f.text_field :cap, :value => params[:cap] %>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-15
      • 2011-05-12
      • 2019-09-27
      • 2022-06-16
      相关资源
      最近更新 更多