我在紅寶石視圖文件中看到了標籤<%=j some-variable %>
,我想知道是否有人能告訴我它的代表j
是什麼意思?我知道<%= %>
用於打印出紅寶石,<% %>
用於在視圖中使用ruby代碼。'ruby view'中的'<%=j %>'標籤的含義
0
A
回答
5
在Ruby on Rails的看法,j()
是別名爲escape_javascript()
:
轉義回車符和JavaScript段的單引號和雙引號。
例如,當您想渲染另一個ERB模板並將該輸出用作JS函數的參數時,通常用於DOM操作。
如果您正在使用jQuery,你可能會創建一個新的記錄後,在你的JS迴應是這樣的:
$('ul#items').append('<%= j render(resource) %>');
這會使相應部分的資源,逃避的結果,使得它可以用作Javascript字符串,將該轉義字符串用引號括起來,然後將最後一個字符串附加到DOM節點。
更新:
(這是從我的討論意見推導出其他的答案之一。)
很多Ruby開發人員編寫j
旁邊的<%=
,沒有任何分離空白。有些編寫<%=j render 'something' %>
,而通常至少包含內部方法調用參數,如下所示:puts some_method('bar')
。
這是在Rails開始自動轉義字符串之前用於轉義HTML的h
別名的同一故事。
2
在這個例子中,j
是方法,some-variable
是它的參數。 調用方法後,此調用的結果將轉換爲字符串並插入到您的視圖中。
更確切地說,j
是escape_javascript
方法的別名,它可以轉義JavaScript字符。
3
我敢肯定這是簡寫escape_javascript
<%=j some-variable %> => <%= escape_javascript some-variable %>
將設法找到一個源出於此
這裏的source。請注意,這僅在Rails 4.0中可用。
所以我不知道,其實 - 在文檔的背景使它看起來像需要與render
連接使用它...
$('some_element').replaceWith('<%=j render 'some/element_template' %>');
相關問題
- 1. <mark>標籤的語義含義
- 2. Ruby中'<==>'的含義是什麼?
- 3. jQuery的含<a>標籤
- 4. <script>標籤必須包含單獨的</script>標籤?
- 5. 這是什麼標籤的含義:<t> Lorem存有</t>
- 6. << - 在Ruby中的含義
- 7. 多個語義含義<dd>標籤
- 8. <meta name =「title」>標籤和<title></title>標籤
- 9. 添加<span> +</ span>標籤<a>標籤
- 10. <div ui-view></div>與<ui-view></ui-view>之間的區別?
- 11. Spring Web MVC的[servlet-name] -servlet.xml中的<property>標籤的含義是什麼?
- 12. <script>之前的標籤位置<html>標籤
- 13. 符號'<>'的含義?
- 14. <audio>標籤應該放在<head>標籤中嗎?
- 15. <script>標籤內的標籤
- 16. 替換標籤<NPS></NPS>其中有<UNKOWN/>標籤
- 17. * $ <在Ruby中的含義是什麼?
- 18. 在CSS中定義一個自定義的<a>標籤?
- 19. 的preg_replace()<Char />標籤
- 20. JSP:JSTL的<c:out>標籤
- 21. HTML5 - 的<article>標籤
- 22. Alt-j到<Esc><j>在IdeaVim
- 23. <?>在Android方法簽名中的含義是什麼?
- 24. <c:import>標籤
- 25. <a>標籤
- 26. <html:link>標籤
- 27. <select>標籤
- 28. Flexbox的和<header>,<main>,並且<footer>標籤
- 29. 如何只計算grails中的URL(不含<a>標籤)?
- 30. javascript-<span>包含HTML標籤的文本塊在IE中
Ruby的鬆散無支架語法可能會將用於C,Java,JavaScript,Perl或Python的人員嚴格要求嚴格要求。 – tadman
我非常懷疑這是一種方法 – Kitty1911
@ Kitty1911你爲什麼會懷疑?它看起來*完全像*在Ruby中的方法調用。這很可能是一個名爲'j'的輔助方法。記住'j foo'和'j(foo)'是等價的。 – tadman