【问题标题】:Is there a way to write a single expression over multiple lines in haml?有没有办法在haml中的多行上编写单个表达式?
【发布时间】:2010-11-25 16:24:40
【问题描述】:

我的一个haml视图中有这个:

-form_for :news_item_comment, :url=>{:id => comment.id, :controller => 'comment' , :action => 'add_comment'}, :html => {:id => "form-#{comment.id}"}  do |f|    
   ...

由于它真的很长而且很难阅读,我想将它分成 2 行。在不违反haml的空格规则的情况下,有没有办法做到这一点?

【问题讨论】:

  • 我有一个类似的案例:= link_to image_tag( product.product_images.find_by_scene_id( @scene ).product_image.url(:small), :alt => to_slug(product.name) ), '#'。我认为这个问题可能是通用的,所以我会开始一点赏金。
  • 为什么不将文本编辑器中的列数设置为适合您屏幕的合理大小?
  • 因为那样我还有很长的队伍。我希望这段代码更具可读性,很长的行仍然难以阅读。

标签: ruby-on-rails views haml


【解决方案1】:

是的,有multiline syntax。但是,我们鼓励您将长行移到辅助方法中而不是使用它,因为从长远来看,这将使您的模板更具可读性。

【讨论】:

  • 不能再同意了。辅助方法优于多行 HAML。如果您需要多行,那么您在视图中做的太多了。
  • 我希望任何有这个问题的人都能看到这篇文章,因为这是一种完全不同的方法,而且可能是解决我想要解决的可读性问题的更好方法。
  • 链接好像过期了 - 404 Not Found
【解决方案2】:

在早期版本的 haml 中,没有办法多行一条语句 - 这让我感到沮丧,就像在某些情况下它使模板更难阅读一样。

理论上有一个多行syntax 用于处理具有大量属性的语句。我没有尝试使用它 - 但值得一试,如果这不起作用,那么很可能仍然是你不能多行这种类型的语句。

【讨论】:

  • 链接好像过期了 - 404 Not Found
【解决方案3】:

'|'可用作多行语法的行分隔符。参考此http://www.mail-archive.com/haml@googlegroups.com/msg04722.html

【讨论】:

    猜你喜欢
    • 2021-03-16
    • 2021-07-21
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 2019-06-28
    • 1970-01-01
    • 2010-10-31
    • 1970-01-01
    相关资源
    最近更新 更多