如果存在于text_field_tag中,则显示值

时间:2013-05-19 10:29:36

标签: ruby-on-rails ruby ruby-on-rails-3 forms

我有一个使用form_tag的表单,允许用户输入足球比赛的预测,灯具是从一个单独的模型中获取的......我想做的是,一旦他们提交了他们的预测,下次他们查看同样的形式,他们的预测是针对具有输入字段的装置whist预先填充的..

表单看起来像是

<%= form_tag controller: 'predictions', action: 'create', method: 'post' do %>
         <% @fixture_date.sort.each do |date, fixture| %>
           <ul class="fixture-dates">
             <li><h5><%= date_format(date) %></h5></li>
            </ul>

             <ul class="fixtures">
               <% fixture.each do |fixture|%>
                 <% if current_user.predictions.where(:fixture_id == fixture.id).empty? %>
                <li>
                  <span class="home-team"><%= fixture.home_team %></span> 
                  <span class="score">
                  <%= text_field_tag "predictions[][home_score]" %> 
                  <%= text_field_tag "predictions[][away_score]" %>
                  </span>
                  <span class="away-team"><%= fixture.away_team %></span> 
                </li>
                 <%= hidden_field_tag "predictions[][home_team]", fixture.home_team %>
                 <%= hidden_field_tag "predictions[][away_team]", fixture.away_team %>

                 <%= hidden_field_tag "predictions[][fixture_date]", fixture.fixture_date %>
                 <%= hidden_field_tag "predictions[][fixture_id]", fixture.id %>

                 <% else %>
                 pre populated predictions against fixtures here
               <% end %>

               <% end %><!--if statement -->

              </ul>
         <% end %>
           <%= submit_tag "Submit predictions", :class => "btn btn-success btn-large" %>
      <% end %>

我曾考虑使用

禁用文本输入
 :disabled => true

但这似乎只是返回带有此文本的输入

{:disabled => true}

因此,一旦用户做出预测,我希望预先填充他们的预测这两个输入

<%= text_field_tag "predictions[][home_score]" %> 
<%= text_field_tag "predictions[][away_score]" %>

任何人都可以指出我正确的方向

由于

修改

我现在知道为什么残疾人=&gt; true输出{},从文档中看似似乎禁用选项将前一个语句作为其参数/值...所以如果我这样做

'',:disabled =&gt;真

然后我得到一个空白的text_field

1 个答案:

答案 0 :(得分:4)

您会看到包含{:disabled => true}文字的文字输入,因为text_field_tag接受三个参数:namevalueoptions。如果您未明确指定value,则假定{:disabled => true}为它。因此,请将代码更改为以下内容:

<%= text_field_tag "predictions[][home_score]", nil, :disabled => true %>