Ruby on Rails中Controller#Index中的语法错误

时间:2014-08-11 11:43:42

标签: html ruby-on-rails ruby syntax-error

我将使用一点数据库构建基于Ruby on Rails的应用程序。但是当我使用脚手架工具创建数据库时,当我尝试通过localhost:3000/informations调用页面时出现语法错误。

在页面顶部:

SyntaxError in InformationsController#index

c:/anwendung/app/views/layouts/application.html.erb:24: syntax error, unexpected keyword_ensure, expecting keyword_end 
c:/anwendung/app/views/layouts/application.html.erb:26: syntax error, unexpected $end, expecting keyword_end

这是application.html.erb

的代码
<!DOCTYPE html>
<html>
<head>
  <title>Anwendung</title>
  <% if mobile_device? %>
    <%= stylesheet_link_tag 'sencha-touch' %>
    <%= javascript_include_tag 'touch/sencha-touch' %>
    </head>
    <body>
    </body>
    </html>
  <% else %>
      <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
      <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
      <%= csrf_meta_tags %>
</head>
<body>

<%= yield %>
</end>
</body>
</html>

如果有人可以帮助我,那将是非常好的。

1 个答案:

答案 0 :(得分:0)

您的<% end %>条件缺少if-else。此外,HTML标记配对不佳。

试试这个:

<!DOCTYPE html>
<html>
<head>
  <title>Anwendung</title>
  <% if mobile_device? %>
    <%= stylesheet_link_tag 'sencha-touch' %>
    <%= javascript_include_tag 'touch/sencha-touch' %>
  <% else %>
    <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
    <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
    <%= csrf_meta_tags %>
  <% end %>
</head>
<body>

<%= yield %>
</body>
</html>