我在 html.erb 文件中有以下内容,使用link_to
获取超链接,t()
将文本国际化。但它看起来很笨重:
<p><%= t('session.new_user') %><%= link_to(t('session.signup_now'), signup_path) %></p>
分割到多行似乎有误,因为文本将全部显示在屏幕上的同一行,但是有更好的语法可以避免连续两个<%= %>
块吗?
答案 0 :(得分:1)
我可能会选择换行:
<p>
<%= t('session.new_user') %>
<%= link_to t('session.signup_now'), signup_path %>
</p>
或者您可以在实际代码之前设置变量
<% new_user_text = t('session.new_user') %>
<% link = link_to t('session.signup_now'), signup_path %>
<p><%= new_user_text %><%= link %></p>
或者您可以在控制器中设置实例变量。我不喜欢这样的观点。
额外:如果你喜欢整洁的代码,你可能会喜欢haml
%p
= t('session.new_user')
= link_to t('session.signup_now'), signup_path
现在它实际上是可读的!
答案 1 :(得分:0)
您可以在结束标记之前添加连字符,以防止将换行符附加到输出。
<% ... -%>
请注意,此功能是特定于Rails的。