我在轨道上的红宝石上有一个脚手架项目,我在其中填充了玩家和分数。我想有一个由玩家下拉菜单填充的下拉菜单。
过程是,首先在玩家页面上制作一个玩家,然后我进入得分页面,填写一个新的分数,然后下拉菜单将有玩家已经注册,输入分数,然后创建一个与其相关联的分数的新玩家。
(奖金,我想整合这些功能(将球员和得分信息合并为一种形式)
分数表格:
<%= form_for(@score) do |f| %>
<% if @score.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@score.errors.count, "error") %> prohibited this score from being saved:</h2>
<ul>
<% @score.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :lowest_time %><br>
<%= f.number_field :lowest_time %>
</div>
<div class="field">
<%= f.label :player_id %><br>
<%= f.text_field :player_id %>
<%= @score.player %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
球员表格
<%= form_for(@player) do |f| %>
<% if @player.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@player.errors.count, "error") %> prohibited this player from being saved:</h2>
<ul>
<% @player.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :name %><br>
<%= f.text_field :name %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
我的玩家模型有has_many:得分和带有belongs_to的得分模型:玩家
我现在拥有的方式是播放器ID正在显示,但就用户输入播放器的id_number而言,这是不切实际的......
任何帮助将不胜感激!如果有任何需要的额外代码来显示我的问题,请告诉我。
答案 0 :(得分:0)
在scores
表单中,不使用输入播放器ID,而是使用Rails select
帮助器:
<div class="field">
<%= f.label :player_id %><br>
<%= f.select(:player_id, Player.all.pluck(:name, :id), @score.player_id %>
</div>
查看Rails docs了解详情。