ruby-on-rails - 在 HAML 文档中的 Ruby 插值中拯救异常

标签 ruby-on-rails ruby haml

我在 HAML 文档中有一些内插的 ruby​​ 代码,如下所示:

:javascript
    a = { 'something' : "#{model.attribute.present? ? method(parameter) : ''}" }

但是,方法(参数)正在抛出某些参数的异常,所以我想挽救异常。当抛出异常时,我希望将“某物”键映射到其他东西。

我不清楚如何使用 HAML 代码/ruby 插值来执行此操作的确切语法。我已经尝试了几件事,但没有用。

谢谢!

最佳答案

你应该走这条线

model.attribute.present? ? method(parameter) : ''

并用它制作一个辅助方法

class ApplicationHelper
  def some_method
    model.attribute.present? ? method(parameter) : ''
  rescue
    "something else" # this is your value in case of exception
  end
end

然后您的 HAML 变得微不足道

:javascript
    a = { 'something' : "#{some_method}" }

关于ruby-on-rails - 在 HAML 文档中的 Ruby 插值中拯救异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11402916/

相关文章:

ruby - 在 Vagrantfile if env 中设置默认值。未设置变量

javascript - 如何找出用户在 Javascript 中选择了哪个单选按钮?

ruby-on-rails - ActiveRecord::Base 上的 alias_method 导致 NameError

ruby-on-rails - rspec - 找不到命令

ruby-on-rails - 跨多个文件打破 ruby​​ 模块

ruby - 在不使用 ruby​​ 中的 eval 的情况下将字符串转换为类名?

ruby - 在 Ruby 中,如何打开文件并将数组的每个成员写入单独的行并关闭它?

html - Maruku 错误地解析了第二行代码块?

internationalization - Rails 3 View 中的 i18n Markdown 文件

mysql - RoR中的动态条件查询