ruby-on-rails - 如何在 Rails 模型的构造函数中使用参数

标签 ruby-on-rails ruby rspec tdd

我正在尝试使用 RSpec 学习 tdd。我从网上找到的备忘单中获取了这个示例,但对于如何实现它有点困惑。添加 MovieList.new 是自动的,但是当它已经用 ActiveRecord 处理时,我将如何添加参数。然后还要添加 'forward' 方法。

describe "forward" do
  it "should jump to a next movie" do
    next_movie = MovieList.new(2).forward
    next_movie.track_number.should == 2
  end
end

最佳答案

如果这是对 MovieList 类的测试,请创建一个名为 MovieList 的类。

然后在该类的构造函数中,确保它接受一个名为 track_number 的参数,在您的测试中是 2。

然后创建一个名为 forward 的方法来执行您需要它执行的任何操作?

这是一个很好的例子,说明我将如何处理: http://rspec.info/

这听起来可能模棱两可,但问题本身也是如此。


编辑: 这是关于如何创建新的 MovieList 类并使用名为 track_number 的参数对其进行初始化的粗略想法。

def MovieList
  attr_accessor :track_number

  def initialize(track_number)
    @track_number = track_number
  end

  # You can define all your class methods below, you 
  # can start with forward.

  def forward
    # do something...
  end 

end

关于ruby-on-rails - 如何在 Rails 模型的构造函数中使用参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8405600/

相关文章:

ruby-on-rails - Redis::CommandError: 运行 rspec 时错误的数据库索引无效

ruby-on-rails - 规范中引用 ActiveRecord::Relation 对象的约定

javascript - 在railscast 114之后实现 'Endless Page' Javascript

ruby-on-rails - 将 Rails 与 Paperclip 和 SWFUpload 结合使用

sql - 查找两个表之间重叠的最有效方法

ruby - 复杂的 DataMapper 查询关联

ruby-on-rails - rails Rspec `require' : cannot load such file -- rails_helper (LoadError)

ruby-on-rails - Rails 集合排序无法按预期使用 UTF-8 字符串

ruby-on-rails - 基本的每个循环 Ruby on Rails

ruby-on-rails - 具有自定义功能的 Ruby on Rails 应用程序的 Heroku 部署