【问题标题】:Ruby on Rails: getting associated values to displayRuby on Rails:获取要显示的关联值
【发布时间】:2013-05-17 02:55:29
【问题描述】:

我正在尝试创建某种活动提要,但无法获得所需的值。

我有一个执行此操作的控制器

  def show
    @user = User.find(params[:id])
    @ideas = Idea.find(@user)
    @lists = List.find(@user)
    @li_array = (@lists + @ideas).sort{|a,b| -(a.created_at <=> b.created_at)}      
  end

我是 Rails 新手,我正在尝试将来自想法和列表的用户的一系列值放在一起。但我发现我不能做我现在正在做的事情,因为它只会传递当前用户的 id 来匹配 Idea/List 的 id,但我需要做的是找到用户的 id 列并搜索基于在@user 上。

我需要从用户那里获取所有值,最好的方法是什么?

模型

用户.rb

  has_many :lists
  has_many :ideas, :through => :lists

list.rb

  has_many :ideas
  belongs_to :user

idea.rb

  belongs_to :list
  belongs_to :user

谢谢

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 associations


    【解决方案1】:

    你可以这样做:

    @user = User.find(params[:id])
    @ideas = @user.ideas
    @lists = @user.lists
    

    【讨论】:

    • 不客气。这是非常基本的东西,所以你可能想看看Rails Guides 以了解更多关于associations 在Rails 中的工作原理。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多