新手问题 关于在 erb 文件中,注释的一个错误提示!

jerrychen2008 · 2015年02月03日 · 最后由 chriswongxp 回复于 2017年02月14日 · 5089 次阅读

正在实现 ruby on rails,参考的是 ihower 的 rails4. 在实践 part1 6 RESTful 應用程式 时,因为想记录 restful 对应的 7 个 path 的变形规律,然后在修改 new.html.erb 的时候使用了注释: 代码如下:

<!-- <%= form_for @event, :url=> {:controller=>'events', :action=>'create'} do |f| %> -->
<%= form_for @event, :url => events_path do |f| %>
  <!-- <%= render :partial=>'form', :locals=>{:f=>f} %> -->
  <%= f.label :name, "Name" %></br>
  <%= f.text_field :name %></br>

  <%= f.label :description, "description" %></br>
  <%= f.text_area :description %></br>
  <%= f.submit "create" %>
<% end %>

然后就报错了:

SyntaxError in EventsController#new
/Users/yutu04/Workspaces/03ruby/projects/demo/app/views/events/new.html.erb:12: syntax error, unexpected keyword_ensure, expecting keyword_end /Users/yutu04/Workspaces/03ruby/projects/demo/app/views/events/new.html.erb:14: syntax error, unexpected end-of-input, expecting keyword_end

在反复检查,对比之后,发现是因为第一行注释的问题。去掉注释行即可。 那么问题是,难道 erb 文件中就不能有注释吗? 请各位指教,谢谢!

编辑器右上角有插入代码的按钮

<!-- <%= form_for @event, :url=> {:controller=>'events', :action=>'create'} do |f| %> -->
<%= form_for @event, url => events_path do |f| %>
  <!-- <%= render :partial=>'form', :locals=>{:f=>f} %> -->
  <%= f.label :name, "Name" %></br>
  <%= f.text_field :name %></br>

  <%= f.label :description, "description" %></br>
  <%= f.text_area :description %></br>
  <%= f.submit "create" %>
<% end %>

.html.erb,先用 erb 进行处理,erb 不管 HTML 的注释标签,直接找 <%

谢谢@king1990_cool! 正确的 erb 注释方式 <%# comments %> 本例中:

<%#= form_for @event, :url => events_path do |f| %>

@rei,谢谢指导,下次就会了,呵呵

问题是上面的代码全部注释了,但<% end %>这行没注释,所以报了语法错误!

需要 登录 后方可回复, 如果你还没有账号请 注册新账号