rails - nil:NilClass 的未定义方法 'upletter'



我想迭代我在节目中创建的卡片

这是索引中的代码:

<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-<%=@hiragana.upletter.downcase.last%>">
                  <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"的未定义方法,这是我用来在弹出框中生成字母的方法。

<% @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>

Bonjour!

你需要:

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

在你的循环中。

-

使用循环时,需要使用局部范围的变量:

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

任何 Ruby 错误undefined method "..." for "NilClass"基本上意味着您正在尝试对未声明的变量调用方法。

在这种情况下,您尝试使用的变量是 @hiragana ,它不存在。它是本地等价物(hirgana)做。

最新更新