尝试仅在开发环境中显示文本时出现语法错误,意外')'

时间:2014-08-06 18:39:38

标签: ruby-on-rails ruby ruby-on-rails-3

我试图在检测到的ip上显示信息,但在开发模式下只对我显示。

我在我的页脚中加载/app/views/layouts/_debug.html.erb:

<!-- Useful info on localization to debug app -->
<%= if Rails.env.development? %>
    <div id="debug_localization_tools">
      country detected by ip: <b><%= display_country_as_detected_by_ip %></b> <br/>
        country loaded by CountrySetter's set_country method induced from loaded locale: <b><%= loaded_country_locale_by_countrysetter_module %></b>
    </div>
<%= end %> 

它给了我一个错误:

syntax error, unexpected ')', expecting keyword_then or ';' or '\n'

知道为什么吗?

1 个答案:

答案 0 :(得分:5)

应该从<%=开始输出的代码, not 的代码是否只是以<%开头。

因此,在您的代码中,if子句(包括end)不会产生您想要渲染的内容,因此请使用后一个选项

<% if Rails.env.development? %>
  <div id="debug_localization_tools">
    country detected by ip: <b><%= display_country_as_detected_by_ip %></b> <br/>
    country loaded by CountrySetters set_country method induced from loaded locale: <b><%= loaded_country_locale_by_countrysetter_module %></b>
  </div>
<% end %>