我有一个使用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
答案 0 :(得分:4)
您会看到包含{:disabled => true}
文字的文字输入,因为text_field_tag
接受三个参数:name
,value
和options
。如果您未明确指定value
,则假定{:disabled => true}
为它。因此,请将代码更改为以下内容:
<%= text_field_tag "predictions[][home_score]", nil, :disabled => true %>