use*_*534 2 ruby rspec ruby-on-rails
这是我在 lib/p_table.rb 中的模块:
class PTable
.
.
.
def convertElmentToMass(el)
@el = Element.find_by_symbol(el)
end
end
Run Code Online (Sandbox Code Playgroud)
这是我的模型,如果它与我的 app/models/element.rb 有任何相关性
class Element < ActiveRecord::Base
end
Run Code Online (Sandbox Code Playgroud)
出于某种原因,当我尝试测试我的 convertElementToMass 函数时,它说uninitialized constant PTable::Element. 这很奇怪,因为我应该可以在任何地方调用我的模型类,对吗?
这是我在 lib/controllers/module_spec.rb 中的 rspec
require 'spec_helper.rb'
require 'p_table'
describe PTable do
class DummyClass
end
before(:all) do
@dummy = DummyClass.new
@dummy.extend PTable
end
describe "testf" do
it "saves the world" do
expect(@dummy.(["Na", '2'])).to eq(2.34)
end
end
end
Run Code Online (Sandbox Code Playgroud)
使用::Element而Element不仅仅是,它会起作用。
默认情况下,Rails 自动加载器将尝试在模块内部查找该类,方法是在根模块中包含::您让系统知道您想要Element该类的方法。
| 归档时间: |
|
| 查看次数: |
2131 次 |
| 最近记录: |