Ruby on rails ruby和rails在模型中为所属对象定义实例变量

Ruby on rails ruby和rails在模型中为所属对象定义实例变量,ruby-on-rails,ruby,ruby-on-rails-4,model,instance-variables,Ruby On Rails,Ruby,Ruby On Rails 4,Model,Instance Variables,我有下面的代码,工作得很好 # app/models/course.rb class Course < ActiveRecord::Base has_many :lessons, :dependent => :destroy end # app/models/lesson.rb class Lesson < ActiveRecord::Base belongs_to :course def previous lessons = sel

我有下面的代码,工作得很好

# app/models/course.rb
class Course < ActiveRecord::Base
    has_many :lessons, :dependent => :destroy
end

# app/models/lesson.rb
class Lesson < ActiveRecord::Base
    belongs_to :course

    def previous
        lessons = self.course.lessons.order('date')
        index = lessons.index(self)

        if (index == 0)
            return nil
        else
            lessons.at(index - 1)
        end
    end

    def next
        lessons = self.course.lessons.order('date')
        index = lessons.index(self)

        if (index + 1) == lessons.length
            return nil
        else
            lessons.at(index + 1)
        end
    end
end
FWIW,我最近一直在编写相当多的JavaScript代码,在经历了长达6年的中断后,我刚刚回到Ruby和Rails。我想我是想强行关闭Ruby,但我真的不知道我做错了什么

我已经找了一段时间,因为在佳能中找不到任何有用的问题/答案,我想我应该问一下。

class-Lessonclass Lesson < ActiveRecord::Base

  ...

  def lessons
    course.lessons.order('date')
  end

  def index
    lessons.index(self)
  end

  ...

end
... def课程 课程。课程。顺序(“日期”) 终止 def索引 课程索引(self) 终止 ... 终止
def课程;课程。课程。顺序(“日期”);结束
?@VictorMoroz,在我添加了并行函数
def index之后;课程索引(self);结束
。请随意回答问题,我会接受的,但现在我想知道
函数
变量
之间的灰色区域。非常有趣,鲁比,非常有趣。
class Lesson < ActiveRecord::Base

  ...

  def lessons
    course.lessons.order('date')
  end

  def index
    lessons.index(self)
  end

  ...

end