2016-01-22 50 views
-1

我要重複的是卡我在演藝軌道 - 未定義的方法`upletter」的零:NilClass

這裏建立在指數代碼:

<div class="container-page"> 
    <div class="padding-page"> 
    <div class="container-fluid" id="start-cards"> 
     <div class="row"> 
      <h1 class="text-center">Let's</h1> 
      <ul class="list-inline text-center"> 
      <% @hiraganas.each do |hiragana| %> 

      <li> 
      <div class="col-sm-3 col-xs-4 col-md-3 container-cards"> 
       <div class="card-details"> 
       <span class="card-question img-popover" data-content="<h4 class='text-center letter-uppercase'><%= @hiragana.upletter %></h4><p class='text-center'><%= @hiragana.transcription %></p>"><i class="fa fa-eye fa-lg"></i></span> 

       <div class="prononciation"><i class="fa fa-comment"></i></div> 
       <div class="audioclick"> 
        <p><i class="fa fa-volume-off fa-lg"><%= @hiragana.audioclick %></i></p> 
       </div> 
       <div class="card-hiragana hiragana-<%[email protected]%>"> 
        <p><%= @hiragana.ideoone %></p> 
       </div> 

       <div class="card-katakana"> 
       <p><%= @hiragana.ideotwo %></p> 
       </div> 
       </div> 
      </div> 
      </li> 
      <% end %> 
     </ul> 
     </div> 
    </div> 
    </div> 
</div> 

我有一個問題:更好的錯誤告訴我[![在這裏輸入圖片描述] [2]] [2]未定義的方法與'upletter',這是我用來在popover中生成字母的方法。

<% @hiraganas.each do |hiragana| %> 
      <li> 
      <div class="col-sm-3 col-xs-4 col-md-3 container-cards"> 
       <div class="card-details"> 
       <span class="card-question img-popover" data-content="<h4 class='text-center letter-uppercase'><%= @hiragana.upletter %></h4><p class='text-center'><%= @hiragana.transcription %></p>"><i class="fa fa-eye fa-lg"></i></span> 
       <div class="prononciation"><i class="fa fa-comment"></i></div> 
       <div class="audioclick"> 
        <p><i class="fa fa-volume-off fa-lg"><%= @hiragana.audioclick %></i></p> 
       </div> 
+0

你的問題是什麼? – sawa

+0

對不起@sawa我的問題是爲什麼它不起作用? –

回答

1

Bonjour!

您需要:

<%= hiragana.upletter %> 
<%= hiragana.transcription %> 

在你的循環。

-

當使用一個循環,你需要使用locally scoped variable

<% @hiraganas.each do |hiragana| %> 
    <%= hirgana.upletter %> 
<% end %> 

undefined method "..." for "NilClass"任何Ruby錯誤基本上意味着你要調用一個非聲明的方法變量。

在這種情況下,您嘗試使用的變量是@hiragana,該變量不存在。它與當地相同(hirgana)。

+0

謝謝@RichPeck這很奇怪,因爲我用{@ name.method}來工作。我不明白爲什麼? –

+0

'@ name.method'可能被定義,在這種情況下,'@ hiraganas'不是。如果您在使用'@ name.method'的地方發佈代碼,我將能夠更好地提供更多範圍 –

相關問題