2016-01-20 52 views
0

我正在构建一个应用程序,其中我想将bibtex解析为html中的引用。我用CiteProc-Rubybibtex-ruby宝石来实现这一点。Rails中的Bibtex解析器;可以让宝石在控制台中工作,但不是应用程序本身

我用这个宝石。我在Rails控制台中尝试了以下代码。

cp = CiteProc::Processor.new style: 'apa', format: 'text' 
cp.import BibTeX.open('sources.bib').to_citeproc 

这工作正常。 cp对象是从sources.bib文件中解析的引用的散列,并且可以使用APA或其他格式呈现html引用。

所以现在我想在我的应用程序中使用它。所以我把它添加到application_controller.rb

class ApplicationController < ActionController::Base 
    protect_from_forgery with: :exception 
    @cp = CiteProc::Processor.new style: 'apa', format: 'text' 
    @cp.import BibTeX.open('sources.bib').to_citeproc 
end 

我的期望是在视图中使用@cp对象。而是我得到这个错误信息:

未初始化的常量的ApplicationController :: CiteProc

什么是做这种正确的方法是什么?

回答

0

require 'citeproc'应该这样做。通常只需将citeproc添加到Gemfile中就可以了(假设您使用默认的Rails设置)

相关问题