こんにちは私は、ユーザーがゲームに参加してチームを作成できるゲームアプリケーションを作りたいと考えています。私はすべてのゲームの横にあるリンク「チームの作成」を示し、以下の部分でローカルの部分をループ内で部分的にレンダリングしてアクセスする方法
<div class = "container-fluid">
<div class = "row">
<%= render partial: "shared/table", locals: {doubles_games: @doubles} %>
</div>
</div>
: はここに私のteam_events.html.erbで
def team_events
@doubles = Game.where(game_type: Game::DOUBLES)
@mixed_doubles = Game.where(game_type: Game::MIXED_DOUBLES)
@others = Game.where(game_type: Game::OTHERS)
end
コードgames_controller.rbに私のコード です。ユーザーがそれをクリックすると、チームを作成するためのフォームを含むモーダルダイアログが開きます。 _form.html.erb
<%= simple_form_for Team.new, url: teams_path(game_id: game.id), method: :post do |f| %>
<%= f.input :game_name, label: "Game", input_html: {value: "#{game.name}"}, disabled: true %>
<%= f.input :game_type, label: "Type", input_html: {value: "#{game.game_type}"}, disabled: true %>
<%= f.input :name, autofocus: true, required: false, hint: "Name your team" %>
<%= f.input :members, as: :text, required: true, hint: "Enter the names seperated by comma" %>
<%= f.submit "Create", class: "btn btn-success" %>
<% end %>
におけるモーダルウィンドウブートストラップ_table.html.erb部分
<table class = "table table-hover">
<thead>
<tr>
<th> Game </th>
<th> Game Type </th>
<th> Actions </th>
</tr>
</thead>
<tbody>
<% doubles_games.each do |game| %>
<tr>
<td><%= game.name %></td>
<td><%= game.game_type %></td>
<td>
<a href="#" type="button" data-toggle="modal" data-target="#myModal">
Create Team
</a>
</td>
</tr>
<% end %>
</tbody>
</table>
コード
<div class="modal fade" id="myModal" role="dialog">
<div class="modal-dialog">
<div class= "modal-content">
<div class="modal-body">
<%= render partial: 'teams/form', locals: {game: game} %>
</div>
</div>
</div>
</div>
コード、ユーザがクリックゲームの横にある "チームを作成"リンクをクリックすると、モーダルウィンドウが開き、フォームチームを作成するために表示されます。また、モーダルウィンドウでは、ユーザーがチームを作成するゲームも表示されます(_form.html.erbの無効:trueオプションをチェックします)。 だから私は卓球のチームを作成をクリックします。次のウィンドウがここ
現れる問題は、それが同じゲームを示し、すべてのゲームのために作成し、チームのリンクをユーザーがクリックです。 したがって、badmintonまたはcarromのチームを作成するをクリックします。
<%= render partial: "shared/table", locals: {:doubles_games: @doubles} %>
正しいコードは、次のようになります。ウィンドウでは、それは卓球を示しているだけ あなたが次の行に、次の2つのコロン、代わりのいずれかを使用している詳細
HI @sssskkkそれは働いています。私はイドをゲームごとに変更するようにしました。 –