【发布时间】:2012-06-23 04:47:15
【问题描述】:
我想就 ERB 模板样式的最佳实践获得一些社区意见。
- 我使用的选项卡宽度为 2。
- 我使用软制表符(空格)。
- 我使用 80 的自动换行。
除了 ERB 模板中的 Ruby 代码之外,我还缩进了所有 HTML 标记。
这通常使得 ERB 可读性非常好。
假设上述或类似的参数,你更喜欢如何缩进较长的行?
考虑这个例子:
<div class="content">
<div class="row">
<div class="span10">
<%= simple_form_for(@user, html: { class: 'form-horizontal' }) do |f| %>
<%= f.input :MembershipID, label: 'Membership ID :', hint: 'Use the user\'s official Membership ID if they have one. Otherwise, enter their phone number (e.g. 2125551234)', input_html: { value: @user[:MembershipID] } %>
<% end %>
</div>
</div>
</div>
f.input 行变得非常丑陋且难以阅读。
我认为这样的东西会很理想,但我想在改变我的风格之前获得一些反馈。
<div class="content">
<div class="row">
<div class="span10">
<%= simple_form_for(@user, html: { class: 'form-horizontal' }) do |f| %>
<%= f.input :MembershipID,
label: 'Membership ID :',
hint: 'Use the user\'s official Membership ID if they have one. Otherwise, enter their phone number (e.g. 2125551234)',
input_html: { value: @user[:MembershipID] } %>
<% end %>
</div>
</div>
</div>
我对从 ERB 开始标记 或从帮助器名称 f.input 进行双重缩进是否更好。
请称重! (请不要把它变成 ERB 与 HAML 的辩论,假设只有 ERB!)
谢谢。
【问题讨论】:
-
FWIW,我通常遵循本指南:github.com/bbatsov/ruby-style-guide,但它并没有真正解决 ERB。我不喜欢将所有内容缩进到括号所在的位置(或者如果你使用它们的话)。
-
不确定您的自动换行。我将代码保持在每行〜
-
这很好。我可能会尝试插入我自己的回报。我正在使用 Sublime Text 2,你是对的,有时每行 80 的自动换行会产生奇怪的缩进。谢谢。
标签: ruby-on-rails ruby styles indentation erb