2

我有一个使用 form_tag 的表单,允许用户输入足球比赛的预测,赛程取自一个单独的模型。我想做的是,一旦他们提交了预测,下次他们查看相同的表单时他们的预测是针对具有只读输入字段的灯具预先填充的。

表格看起来像这样

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

谁能指出我正确的方向

谢谢

编辑

我现在知道为什么 disabled => true 输出 {},从文档看来,disabled 选项似乎将前一个语句作为其参数/值..所以如果我这样做

'', :disabled => true

然后我得到一个空白的 text_field

4

1 回答 1

4

您会看到带有文本的文本输入,{:disabled => true}因为它text_field_tag接受三个参数:namevalueoptions。如果您没有value明确指定,它{:disabled => true}应该是它。因此,将您的代码更改为以下内容:

<%= text_field_tag "predictions[][home_score]", nil, :disabled => true %>
于 2013-05-19T10:44:54.787 回答