#前提
CharactersテーブルとMovesテーブルの二つのテーブルを用意し、Charactersの主キーをMovesで受け取り、そのidをもとにBにあるデータを全て取得し、表示させる、というような設計にしております。
#試してみたこと
Movesテーブルに外部キー(Charactersの主キー)を設定し、保存しています。
それをfindメソッドで取得してeachメソッドで表示させられるのではと思い、記述してみたものの、うまく行きません。
findの引数に数字を入れると取得はできるのですが、これではキャラクターごとに技データを取得することができないです。
こういった場合、
どのように記述できるでしょうか?
また、現時点でのコードでも間違いがありましたらご指摘いただけたらと思います。
-controller/characters
rails
1class CharactersController < ApplicationController 2 def index 3 character = Character.all 4 end 5end 6
- views/character/index
rails
1<div class = "main"> 2 <div class="title-contents"> 3 <h1>フレームデータ</h1> 4 </div> 5 <div class="main-contents"> 6 <div class = "select-character"> 7 <div class = "contents-name"> 8 キャラクター選択 9 </div> 10 <div class='characters'> 11 <ul> 12 <li><%= link_to "キャラクター1", character_moves_path(:character_id) %></li> 13 <li><%= link_to "キャラクター2", character_moves_path(:character_id) %></li> 14 <li><%= link_to "キャラクター3", character_moves_path(:character_id) %></li> 15 </ul> 16 </div> 17 </div> 18 </div> 19</div>
- controller/moves
rails
1class MovesController < ApplicationController 2 3 def index 4 @moves = Move.find(1) 5 end 6end
- views/move/index
rails
1<table> 2 <tr> 3 <th>技名</th> 4 <th>コマンド</th> 5 <th>ダメージ</th> 6 <th>発生F</th> 7 <th>ガードF</th> 8 </tr> 9 <% @moves.each do |moves| %> 10 <tr> 11 <td><%= moves.moves_name %></td> 12 <td><%= moves.command %></td> 13 <td><%= moves.damage %></td> 14 <td><%= moves.startup %></td> 15 <td><%= moves.block %></td> 16 </tr> 17 <% end %> 18</table>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/03 02:21
2021/02/03 06:06
2021/02/03 14:39
2021/02/03 14:56
2021/02/03 17:42 編集
2021/02/03 18:00
2021/02/04 07:04