首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Rails无错误--有什么方法可以阻止它们吗?

Rails无错误--有什么方法可以阻止它们吗?
EN

Stack Overflow用户
提问于 2013-02-18 06:03:17
回答 2查看 1.1K关注 0票数 2

在过去的6个月里,我一直在学习Rails。我觉得这很棒!

但是,我的应用收到的99%的错误都是零错误。我正在尝试显示一个为空的字段,或者有一个外键指向已被删除的记录。

我在很多地方都有这种类型的代码:

代码语言:javascript
运行
复制
        <% if location.parent != nil %>
          <td><%= location.parent.name %></td>
        <% else %>
          <td></td>
        <% end %>

      <% if location.client_id != nil %>
        <td><%= location.client.client_name %></td>
      <% else %>
        <td></td>
      <% end %>

我真希望Rails在字段为nil时显示为空白!或者,设置一个有错误的闪光灯,但仍然显示页面。取而代之的是页面爆炸。在Heroku上,你会得到“对不起,有些事情出错了……”

有没有更好地处理空白字段的方法?有没有更好的方法来编写上面的代码?有没有我不知道的Rails设置?有没有专门的工具来处理这些类型的错误?

EN

Stack Overflow用户

发布于 2013-02-18 11:21:36

不是Rails修复,但您可以使用面向对象设计的NullObject模式来重构您的代码,以不同的方式处理"nil“。该模式基本上意味着您为一个对象创建一个null/nil类,该对象在为nil时进行处理。它有一些缺点:一个额外的类需要维护,当你添加新的方法时,你必须记得编辑空的类,这可能是零。好处是它把条件句移出了视图。

这里有一篇关于这个主题的很好的博客文章:http://robots.thoughtbot.com/post/20907555103/rails-refactoring-example-introduce-null-object

另一个建议是把条件句移出你的视线,移到帮助器中。帮助器是包含视图逻辑的简单模块。我经历过视图的所有逻辑都在视图中,这使得视图代码很快就变得一团糟。

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14926616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档