【问题标题】:Ruby on Rails number_field default value not displayingRuby on Rails number_field 默认值不显示
【发布时间】:2017-04-08 06:18:45
【问题描述】:

我的文本字段的默认值正常显示,但数字字段为空白。

 <%= form_for(@game) do |f| %>
  <%= render 'shared/error_messages', object: f.object %>

  <%= f.label :nick_name, "Nickname: " %> (optional)
  <%= f.text_field :nick_name, class: 'form-control', value: "newgame" %>

  <%= f.label :players, "Number of players:" %> (3-8)
  <%= f.number_field :players, class: 'form-control', value:3 %>

  <%= f.submit "Create Game", class: "btn btn-primary" %>
<% end %>

值显示在结果源 html 中,但不显示:

  <label for="game_nick_name">Nickname: </label> (optional)
  <input class="form-control" value="newgame" type="text" name="game[nick_name]" id="game_nick_name" />

  <label for="game_players">Number of players:</label> (3-8)
  <input class="form-control" value="3" type="number" name="game[players]" id="game_players" />

我试过value: '3' 并没有什么不同。 为了测试我的浏览器是否有问题,我自己制作了一个带有输入字段的简单 html 文件:

<input type='number' class='form-control' value=3>   

它按预期显示,所以我认为它一定与我的 rails 应用程序有关。

我不知道这是否与Input value doesn't display. How is that possible? 有关,因为这是一个rails 应用程序。

【问题讨论】:

  • 值应该来自记录本身,如果之前设置的话。你不应该手动设置value 属性。如果您尝试创建的是new 记录,则value 应该为空,如果您尝试编辑上一条记录,则默认情况下会显示。
  • 是的,对于新的游戏对象,它不会显示默认值,在控制器中初始化它时,您可以在其中设置一个值 @game = Game.new(players: 3.. ..)

标签: html ruby-on-rails ruby


【解决方案1】:

是的,对于新的游戏对象,它不会显示默认值,在控制器中初始化它时,你可以在其中设置一个值

@game = Game.new(players: 3)

【讨论】:

    猜你喜欢
    • 2016-10-25
    • 1970-01-01
    • 2011-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多