ActiveRecord查找并仅返回与[:id]对齐的选定列

时间:2013-10-01 04:04:40

标签: sql ruby-on-rails ruby postgresql activerecord

我有两组不同的数据。我想在我的ruby on rails app上加入我/ show页面。在控制器中,我将其设置为查找日期,设置变量,使用该日期查看其他数据库以获取所需信息。

我的控制器看起来像这样:

  def show
    @ticket = Ticket.find(params[:id])
    @hellodate = Ticket.select(:date)
    @winnings = Winnings.find(:all, :conditions => {:date => @hellodate})

  respond_to do |format|
   format.html # show.html.erb
   format.json { render json: @ticket }
   end
 end

为了我的@winnings工作,我需要它来拉出具有与@ticket日期匹配的日期的行。我是这个世界的新手,并且会喜欢任何输入/解决方案,因为这不起作用。它应该只显示一个@winnings但它显示多个虽然只有一个日期将匹配。谢谢!

1 个答案:

答案 0 :(得分:1)

您的@hellodate不是您认为的那样。这样:

@hellodate = Ticket.select(:date)

会或多或少地给你结果说:

select "date" from "tickets"

因此您将获得所有Ticket,但只会从数据库中提取date列。大概你只想要来自date的{​​{1}}:

@ticket