ruby-on-rails - 在 Rails 模板中使用条件语句修饰符

标签 ruby-on-rails ruby

我有一个生成 Javascript 对象的 Rails 模板(.rhtml 文件)。它看起来像下面这样:

var volumes = {
  <% for volume in @volumes %>
    <%= volume.id %> : <%= volume.data %> 
    <%= ',' unless volume === @volumes.last %>
  <% end %>
};

注意 unless语句修饰符以禁止在最后一个元素之后打印逗号(以满足 Internet Explorer,它难以置信地不支持 JSON 属性声明中的尾随逗号)。

这似乎可行,但作为风格问题,人们认为依赖 <%= value unless condition %> 是否合理?在模板中生成适当的 render打电话?

最佳答案

我不明白为什么不,但通常如果你发现自己在最后一个成员上设置逗号条件,你可能想改用 join:

<%= @volumes.map {|v| "#{v.id} : #{v.data}"}.join "," %>

关于ruby-on-rails - 在 Rails 模板中使用条件语句修饰符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/272993/

相关文章:

ruby-on-rails - 如何使用 Rails 在一个查询中执行多个语句?

css - Rails scss 背景图片不起作用

带有行号的 Ruby grep

ruby-on-rails - "require File.dirname(__FILE__)"-- 如何安全地解除文件系统依赖?

ruby - 哈希与 Lambda

ruby-on-rails - rails : How to make recent blog posts appear first

css - .well 类中的垂直居中 Bootstrap btn

ruby-on-rails - rails : Faster way to perform updates on many records

ruby - 如何在 Ruby 的循环中跳过几次迭代?

Ruby 在没有显式包含声明的情况下在子类上执行 self.included(base) 方法?