[英]Output code from Ruby on Rails block without closing ruby tags
好的,這似乎很愚蠢,我使用各種不同的關鍵字和術語在Google上進行了廣泛的搜索,嘗試了多種不同的方法,並嘗試了最后的廣度,但似乎無法弄清楚該怎么做。 我所需要的只是在Rails應用程序中輸出而不需要中斷我的程序。
當前,當我在Rails應用程序中執行紅寶石代碼塊並想輸出值時,請執行以下操作
<% somearray do | item | %>
<%= item %>
<% end %>
對我來說,這很混亂,我知道來自PHP背景,這不是應該想象如何在Rails中編碼的方法,而是來自許多不同的環境,我喜歡我的代碼對我來說看起來不錯。 用<%%>封裝每一行非常容易,但是我希望我的代碼是我的代碼,而我的標記是我的標記。
我想要的是,但是沒有用的是...。
<%
somearray do | item |
whatever item #whatever being puts or similar
end
%>
這僅僅是出於代碼的美感,而不是代碼的產生,而是對我來說,這是一個很長的程序員,這意味着在嘗試查看代碼塊的開始位置和結束時間時,可以節省大量時間。
提前致謝,
周傑倫(c0ld)
您可以使用concat
。 從文檔 :
在視圖中輸出文本的首選方法是使用
<%= “text” %>
eRuby語法。 ....如果絕對必須在非輸出代碼塊(即<% %>
)中輸出文本,則可以使用concat
方法。例子
<% concat "hello" # is the equivalent of <%= "hello" %> if logged_in concat "Logged in!" else concat link_to('login', :action => login) end # will either display "Logged in!" or a login link %>
關於什么...
<%= somearray.map {|item| item }.join(" ") %>
PS,當然,如果項目只是輸出自身-甚至可以更短
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.