簡體   English   中英

從Ruby on Rails塊輸出代碼而無需關閉ruby標簽

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM