私人方法`select'在轨道中要求...错误

时间:2016-01-15 01:02:36

标签: ruby-on-rails ruby-on-rails-4

我查看了其他一些帖子,但他们没有解决我的问题

以下是导致问题的.select代码

Category_item控制器

def show
  @category_item = Category.friendly.find(params[:category_id]).category_items.friendly.find params[:id]
  @key_values = CategoryItem.friendly.find(@category_item.id).select("catrgory_item_values.key, categroy_item_values.value") 
end

这是模型

class CategoryItem < ActiveRecord::Base
  belongs_to :category
  has_many :category_item_values, dependent: :destroy

     extend FriendlyId
  friendly_id :name, use: :slugged
end

从他们说的其他类似问题继承ActiveRecord :: Base但我的类别项类已经从它继承。

我最终试图获取与散列中的类别项相关联的键和值。构建这个应用程序以更好地学习rails,这是我不知道如何解决的问题。

1 个答案:

答案 0 :(得分:2)

当您致电#find时,您会收到一个ActiveModel对象,该对象没有您期望的#select方法。

尝试:

Hash[CategoryItemValue.where(category_item_id: @category_item.id).pluck(:key, :value)]