Rails 3 - 如何在视图中发表评论?

时间:2010-09-18 16:24:08

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

在视图中注释掉一行或多行代码的Rails 3方法是什么?因此它不会出现在HTML源代码

5 个答案:

答案 0 :(得分:18)

注释单行ob ruby​​代码使用

<%# code %>
or for multiple lines
<%
=begin
 your code
=end
%>

编辑: 这是一个注释掉视图中循环的示例。 = begin和= end必须直接位于行的开头。 没有任何空格或标签。

<h1>Listing posts</h1>

<table>
  <tr>
    <th>Title</th>
    <th>Text</th>
    <th></th>
    <th></th>
    <th></th>
  </tr>

<%
=begin 
%>
<%@posts.each do |post| %>
  <tr>
    <td><%= post.title %></td>
    <td><%= post.text %></td>
    <td><%= link_to 'Show', post %></td>
    <td><%= link_to 'Edit', edit_post_path(post) %></td>
    <td><%= link_to 'Destroy', post, :confirm => 'Are you sure?', :method => :delete %></td>
  </tr>
<% end %>
<%
=end
%>
</table>

答案 1 :(得分:4)

视图中的Rails 3行注释

f.label:name 行已被注释掉:

<%= form_for(@usr) do |f| %>
  <%= render 'shared/error_messages', object: f.object %>

  <%#= f.label :name %>
  <%= f.text_field :name %>

  <%= f.submit "Save changes" %>
<% end %>

因为这是一个视图,所以#必须在&lt;%和%&gt;。

之内


Rails 3视图中的多行注释

开始多行评论

<%
=begin
%>


结束多行评论

<%
=end
%>


下面,整个 form_for块已被注释掉:

<%
=begin
%>

<%= form_for(@usr) do |f| %>
  <%= render 'shared/error_messages', object: f.object %>

  <%= f.label :name %>
  <%= f.text_field :name %>

  <%= f.submit "Save changes" %>
<% end %>

<%
=end
%>


请注意,要使多行注释代码生效, =开始 =结束前面不能有空格或制表符。他们需要处于一条线的最开始,否则它们将无法工作。

答案 2 :(得分:3)

这是我从HTML隐藏评论的行为(......无论如何,它都有效!)

helper / application.rb文件中的

def comment
    # use this keyword in the views, to comment-out stuff...
end
在您的视图中

<h3><% comment = "my Rails-y something something here will not be visible to HTML.
    I don't know why I have to comment stuff out in this manner.
    It's probably not the 'Rails Way' but ...it works for me.
    It would be nice if Rails 3 had some kind of comment-out feature like <%## %> or <%-- --%>  or something like that...
    Ah, well... 
    At least they won't be able to 'View Source' and read this comment! ;]
" %></h3>

'查看来源'显示:

<h3></h3>

C-YA!

答案 3 :(得分:1)

哪个“阻止”是什么意思? HTML?然后你可以使用 红宝石代码? &lt;%#code%&gt;

答案 4 :(得分:1)

评论代码的一些方法

<%
=begin
%>

RUBY CODE GOES HERE

<%
=end
%>

<% if false %>

RUBY CODE GOES HERE

<% end %>

<%# RUBY CODE%>
<%#= RUBY CODE%>

<!-- 
HTML CODE
-->

对于RUBY代码in.rb文件,如models / controllers

def xyz
  =begin
  blah blah code
  =end
end

对于JS等

/*
Some code
*/