2014-12-31 75 views
1

我在html.erb文件以下嵌入的紅寶石:爲什麼我不能在嵌入式Ruby中使用Ruby代碼和註釋?

<%= render 'shared/error_messages' %> 

當我添加了評論嵌入的Ruby這樣的:

<%= render 'shared/error_messages' #shared/error_messages is a file in shared directory %> 

錯誤是由應用程序拋出。我是否錯誤地添加了評論?

+0

請問你有更多的細節編輯你的問題? – rick

回答

1

ERB有2種不同標籤:

  1. <% ruby_code_here %>的scriptlet
  2. <%= ruby_code_that_gets_output_as_string_here %>表達

據我所知,沒有辦法直接在內部嵌入一個純Ruby註釋 表達方式。你可以把純Ruby註釋放入scriptlet中。

因此,例如,

<%= link_to "Some path", some_path # your comment %> 

會和好如初,並工作。

在另一方面,

<% my_link = link_to "Some path", some_path # your comment %> 
<%= my_link %> 

會工作得很好。

所以,底線是,只要你不在表達式內 - 你可以儘可能多地發表評論。

2

這不支持。用於Erb的評論正確的語法是

<%# shared/error_messages is a file in shared directory %> 
+0

有沒有什麼辦法可以在erb中添加一個erb註釋,這個註釋也有ruby,就像我上面的例子那樣?或者他們必須分開行嗎? – BigRon

+1

在一行中:'<%= render'shared/error_messages'%><%#shared/error_messages是共享目錄中的文件%>' –

相關問題