2016-11-24 22 views
2

私のテキストフィールドのデフォルト値は表示されますが、数字フィールドは空白です。Ruby on Railsのnumber_fieldのデフォルト値が表示されない

<%= 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" /> 

Iはvalue: '3'を試み、それは違いがありません。テストするには それは私のブラウザで問題だった場合、私はそれに簡単なhtmlファイルは、入力フィールドを所有して作られた:

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

期待どおりに表示されるので、私はそれが私のレールのアプリで何かでなければならないと思います。

これはレールアプリであるため、これがまったく関連しているかどうかわかりません。Input value doesn't display. How is that possible?です。以前に設定した場合は、コントローラで、それはデフォルト値が表示されません新しいゲームオブジェクトに対してこのように

+0

値はレコード自体から来る必要があります。 'value'属性を手動で設定すべきではありません。 'new'レコードを作成しようとすると' value'は空になります。もし前のレコードを編集しようとすると、それはデフォルトで表示されます。 – Abhinay

+0

新しいゲームオブジェクトの場合、このようにデフォルト値は表示されません。コントローラーを初期化するときに値を設定できます@game = Game.new(プレーヤー:3 ....) –

答えて

0

はい、あなたはそれを初期化しているとき、あなたはそれに値を設定することができます

@game = Game.new(players: 3) 
関連する問題