【问题标题】:Conditional Execution of Javascript in a Rails View在 Rails 视图中条件执行 Javascript
【发布时间】:2012-02-28 04:45:27
【问题描述】:

我有一些 JavaScript,我只想在用户登录到我的 rails 应用程序时执行。我将用户展示页面设置如下:

<table class="profile" summary="Profile information">
  <tr>
    <td class="main">
      <h1>
        <%= gravatar_for @user %>
        <%= @user.name %>
      </h1>
      <%= render 'follow_form' if signed_in? %>
      <% end %>
    </td>
    <td class="sidebar round">
      <strong>Name</strong> <%= @user.name %><br />
      <strong>URL</strong> <%= link_to user_path(@user), @user %><br />
    </td>
  </tr>
</table>


<% if signed_in? %>

<div id="app-body">
<script type="text/javascript">
document.write("Hello World")
</script>
</div>

 <% end %>

在哪里签到?是一种方便的方法,如果用户登录或未登录,则返回布尔值。问题是当我尝试加载此页面时,在文件末尾过去的一行出现错误:

syntax error, unexpected keyword_ensure, expecting $end

提取的源代码(第 48 行附近):

45: </div>
46: 
47:  <% end %>

有谁知道我该如何解决这个错误?我搜索时发现的只是 HAML 缩进问题,但这里我使用的是 erb,所以缩进无关紧要。

【问题讨论】:

  • 根据您的代码,没有任何问题。如果任何块没有正确结束,你能检查你的 erb 文件吗?
  • 我更新了代码以显示整个页面,我相信所有块都已关闭。

标签: ruby-on-rails ruby-on-rails-3.1 erb


【解决方案1】:

在 删除它。

在 ruby​​ 中,不需要在行尾有条件的结束语句,因此 ? %>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-12
    • 2017-03-29
    • 2019-01-14
    • 1970-01-01
    • 2015-02-27
    • 1970-01-01
    • 2020-01-09
    • 1970-01-01
    相关资源
    最近更新 更多