ruby-on-rails - 在构建数组之前检查变量是否存在

标签 ruby-on-rails ruby arrays

我正在从多个组件(标题、作者、期刊、年份、期刊卷、期刊页数)生成一个字符串。这个想法是字符串将是这样的引用:

@citation = article_title + " " + authors + ". " + journal + " " + year + ";" + journal_volume + ":" + journal_pages 

我猜测有些组件偶尔不存在。我收到此错误:

no implicit conversion of nil into String

这是否表明它正在尝试构建字符串并且其中一个组件是 nil?如果是这样,是否有一种巧妙的方法可以从数组构建字符串,同时检查每个元素是否存在以规避此问题?

最佳答案

使用插值更简单

@citation = "#{article_title} #{authors}. #{journal} #{year}; #{journal_volume}:#{journal_pages}"

Nils 将被替换为空字符串

关于ruby-on-rails - 在构建数组之前检查变量是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29197027/

相关文章:

java - 数组没有正确记录来自 JOptionPane 的输入

c++ - c++ 中的设置函数不起作用

arrays - 如何返回并显示保存到数据库 laravel 的 json 数据

带有 Twitter 的 Ruby SSL 因 Windows 7 上的证书 OpenSSL 问题而失败

ruby-on-rails - Elasticsearch不索引数据库中名为 “type”的字段

ruby-on-rails - 动态创建文件并下载到用户计算机

javascript - Tinymce gem,必须按重新加载才能使tinymce工具栏可用

ruby-on-rails - 如何加载数据库 :seed data into test database automatically?

ruby - "ruby script.rb"与 "xterm -e ruby script.rb"

ruby-on-rails - 更改 Controller 中 View 的目录