0

我的目标是使用 feedzirra 或可行的替代方案来访问许多不同的 RSS 提要并将它们存储在 ActiveRecords 中以供以后处理。显然,这些饲料的成分会有所不同。

只是运行示例 feedzirra 代码,我发现它的实例变量实现是稀疏的。如果提要未提供信息,则变量为零。这没关系,但是一旦我运行 sanitize 之类的方法,我就会在 Nil 上收到 NoMethod 错误。

做一些研究,我发现有一个 instance_variables 方法可以让我获取活动变量。我可以使用它,但是它将问题留给以后可能正在检查根本不存在的实例变量的下游代码。

我对如何处理稀疏实例变量的情况感到困惑。在编写代码时,我需要能够依赖输入,以便我可以运行流程和方法,而无需(过多)担心其可靠性或存在性。

在这一点上,我只是设置了一个完全不够用的救援 NoMethodError 陷阱。我认为我必须从我自己的一些“清理”方法开始,以确保输入既安全又可靠。但是,当我得到零输入时,我该怎么办?我不能让它为零,因为以后的方法会失败。我可以注入一些标准字符串,例如“”或“不可用”,其中任何一个都可能在野外出现。

这是我第一次收集到我认为完全不安全和不可靠的输入。在我处理它之前,我需要关于我需要做什么来清理它的建议。

4

1 回答 1

0

在这一点上,由于缺乏可行的替代方案,我已经退回到在收到变量后立即检查它们的 nil 并将它们设置为我可以稍后检查需要的预定义值。

我不确定这是最好的解决方案,但获得 nil NoMethodError 也不是......

于 2013-07-24T12:06:28.333 回答