Rails显示完整数据库而不是仅属性

时间:2014-04-19 07:17:28

标签: html ruby-on-rails embedded-ruby

我似乎已经在我的rails应用程序中找到了一些东西,确保正在创建游戏和票证,但是当我尝试在html.erb文件中显示它们时,整个数据库正在呈现...所有我希望展示的是实际的门票属性。这是它的样子和与之相关的代码。任何帮助表示赞赏。

enter image description here

代码是:

 <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

2 个答案:

答案 0 :(得分:1)

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

看起来应该是这样的

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

答案 1 :(得分: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表达式时要小心。 <% %>执行output.whereas <%= %>打印输出。