我正在瀏覽 Odin 專案和 Ruby on Rails.org 指南,但仍然無法弄清楚如何創建將布林值從 true 更新為 false 的鏈接。我真的要瘋了。
我想制作一個每個人都以他們的名字命名的網頁,并為每個人分配游戲中的角色(例如游戲中的無辜/叛徒角色,例如一夜狼人/間諜/恐怖鎮的麻煩)。每個玩家都有一個名為 alive 的布林值,用于存盤他們是否仍在游戲中。
我仍在測驗和學習東西,所以現在我只想添加一個鏈接,當您單擊它時,它會將玩家的活動狀態從 true 更改為 false。比我在網上任何地方都能找到人們詢問的任何事情都簡單得多。這是我的倉庫: https ://github.com/esimunds/nerf_app
我只有一個播放器模型、播放器控制器和播放器相關視圖。有問題的鏈接是 index.html.erb 視圖中的最后一個鏈接。
<p id="notice"><%= notice %></p>
<h1>Players</h1>
<table>
<thead>
<tr>
<th>Name</th>
<th>Alive</th>
<th>Wins</th>
<th>Losses</th>
<th colspan="4"></th>
</tr>
</thead>
<tbody>
<% @players.each do |player| %>
<tr>
<td><%= player.name %></td>
<td><%= player.alive %></td>
<td><%= player.wins %></td>
<td><%= player.losses %></td>
<td><%= link_to 'View', player %></td>
<td><%= link_to 'Edit', edit_player_path(player) %></td>
<td><%= link_to 'Delete', player, method: :delete, data: { confirm: 'Are you sure?' } %></td>
<td><%= link_to 'I/ve been shot', player, method: :put%></td>
</tr>
<% end %>
</tbody>
</table>
<br>
<%= link_to 'New Player', new_player_path %>
我只希望“我被槍殺”鏈接將相應玩家的活動變數更改為 false,然后重繪 索引視圖以顯示新的活動狀態。我不知道如何或在哪里添加任何影響資料庫中任何資料的方法。教程只提到創建和洗掉整個物件,他們教的唯一編輯是通過我目前用來添加或編輯玩家姓名的表單。我覺得這是一個如此基本的問題,但我很迷茫。
uj5u.com熱心網友回復:
添加新路線
patch 'shot' => 'players#shot', as: :player_shot
然后是一個新的控制器動作
def shot
@player = Player.find(params[:id])
@player.update(shot: true)
end
然后在視圖中
button_to 'Shot', player_shot_path(id: player.id), method: :patch, remote: true
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/446681.html
標籤:轨道上的红宝石
