-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 回答