2013-05-21 42 views
0

我是非常新的Ruby,並試圖顯示兩個消息之一,根據某些單詞是否包含在一個數組中。我的電流控制器包含以下內容:Ruby如果包含,如何顯示消息?聲明是真的或假的

@cookie = ["gluten", "sugar", "dairy", "chocolate"] 

而我的觀點包含此:

<%= @cookie.include?"gluten" %> 

以上的回報「真」,並在頁面就好上打印。但是,嘗試以下任一方法時,頁面上都沒有打印。頁面呈現精細,沒有錯誤,但沒有消息:

<%= puts "Sorry" if @cookie.include?"gluten" %> 

<%= 
if @cookie.include?("gluten") 
    puts "Sorry, you cannot eat this." 
    else 
    puts "You have the greenlight." 
    end 
%> 

我希望我創造的語法很簡單的錯誤或誤解我的包括使用?功能。

+1

<%@如果cookie.include?( 「筋」)%>對不起<% else %>綠光<% end %> – Swards

回答

0

看着紅寶石它看起來很健康,http://rubyfiddle.com/riddles/d6798

必須軌誤差所以儘量

<% if @cookie.include?("gluten") %> 
    <%= "Sorry, you cannot eat this." %> 
<% else %> 
    <%= "You have the greenlight." %> 
<% end %> 
+0

謝謝!這工作。不知道我的代碼/安裝的完整色域,你是否知道爲什麼我會遇到這樣的rails錯誤? –

0

如果你想這一切在一個ERB語句,你會做這樣的事情:

不要使用「看跌期權」。 「<%=」已經在做'to_s'並將輸出值給響應主體。如果您使用「puts」,您可能會看到日誌中顯示結果。

另外 - 對於erb,<%...%>語法,即邏輯,通常是'each'或'if'狀態,<%=%>用於寫入屏幕。大多數時候,它是一個Ruby對象的類似屬性<%= user.name%>

+0

這將有助於未來!非常感謝! –