连接Rails时出错

时间:2016-09-19 14:00:58

标签: ruby-on-rails join

我试图在轨道上加入2个表,但它对我来说变得不可能了。

我的架构是:

 table "cursos"|
    t.string   "nombre"
    t.integer  "user_id"
  end

  table "users",
    t.string   "name"
  end

user.rb:

  class User < ActiveRecord::Base

  has_many :cursos

curso.rb

class Curso < ActiveRecord::Base
belongs_to :user

  def self.search(nameProf)

          (Cursos.joins(:users).where("users.name ilike ?",  "%#{nameProf}%").all)

  end

它给了我这个错误:

  

CursosController #index中的NameError   未初始化的常量Curso :: Cursos

谢谢!

2 个答案:

答案 0 :(得分:0)

试试这个:

def self.search(nameProf)
  joins(:users).where("users.name ILIKE ?",  "'%#{nameProf}%'")
end

由于搜索是一种类方法,您可以省略Curso

答案 1 :(得分:0)

尝试:

Cursos.select("*").joins(:users).where("users.name ilike ?",  "%#{nameProf}%").all