-1

Railsアプリでゲームとチケットが作成されていることを確認しているようですが、それらをhtml.erbファイルに表示しようとすると、データベース全体がレンダリングされています...すべて表示しようとしているのは、実際のチケットの属性です。これがどのように見えるか、それに関連するコードです。どんな助けでも大歓迎です。

ここに画像の説明を入力

コードは次のとおりです。

 <h1> game id is <%= @g.id %> </h1>

 <h2> Ticket values are: </h2>

 <table>
     <%= @g.tickets.each do |tick| %>

     <tr>
         <td><%= tick.id %></td>
         <% if tick.nickname.blank? %>
         <td> Available</td>
         <% else %>
         <td><%= tick.nickname %></td>
         <% end %>
         <td><%= tick.game_id %></td>
     </tr>
     <% end %>
 </table>

チケットの値の下に出力された完全なデータベース部分を削除する必要がありますが、すべてを削除せずに削除することはできないようです。ご協力いただきありがとうございます。

チケットコントローラーは次のとおりです。

  class TicketsController < ApplicationController

    def create
      @ticket = Ticket.new
      @ticket.nickname = params["nickname"]
      @ticket.game_id = params["game_id"]
      @ticket.save
    end

  end

ゲームコントローラーは次のとおりです。

 class GamesController < ApplicationController

 def create
    @g = Game.new
    @g.winning_ticket_num = params["winning_ticket_num"]
    @g.value_per_ticket = params["value_per_ticket"]
    @g.save
    10.times do 
      @g.tickets.create
    end
    render 'games/show'
 end 


 def new
 end

 def show 
 end


 end
4

2 に答える 2

1

=から削除

<%= @g.tickets.each do |tick| %>

このように見えるはずです

<% @g.tickets.each do |tick| %>
于 2014-04-19T07:29:18.897 に答える
0

問題はこの行にあります

<%= @g.tickets.each do |tick| %>.ゲームに関連付けられているすべてのチケットを出力します。

削除する=と、コードは次のようになります

<table>
     <%@g.tickets.each do |tick| %>

     <tr>
         <td><%= tick.id %></td>
         <% if tick.nickname.blank? %>
         <td> Available</td>
         <% else %>
         <td><%= tick.nickname %></td>
         <% end %>
         <td><%= tick.game_id %></td>
     </tr>
     <% end %>
 </table>

これらの Rails 式の使用には常に注意してください。 <% %>出力を実行します<%= %>が、出力を出力します。

于 2014-04-19T07:32:54.303 に答える