これは、ビューによって呼び出されるパーシャルです。
<li>
<span class="content"><%= link_to "#{key.name} (#{key.description})", key %> (<%= key.id %>)</span>
<span class="timestamp">
Created <%= time_ago_in_words(key.created_at) %> ago.
</span>
<span class="content">
<% if key.chords.count > 0 %>
<%= link_to "show chords", '#', class: "showremovechords" %>
<span> // </span>
<% end %>
<%= link_to "remove", key, method: :delete %>
</span>
<div class="chordsholder">
<ol class="chords">
<% if key.chords.count > 0 %>
<ol class="microposts">
<%= render key.chords %>
</ol>
<% end %>
</ol>
</div>
</li>
これは、「コードを表示」ボタンがクリックされたときに div class= 'chordsholder' を表示するかどうかを切り替える jQuery (CoffeeScript を使用) です。
jQuery ->
toggleChords = (e) ->
e.preventDefault()
if $(@).text('show chords')
$(@).text('hide chords')
else
$(@).text('show chords')
$(@).closest('li').find('.chordsholder').slideToggle()
$('.showremovechords').click toggleChords
div は非表示で始まり、リンクは「show chords」というテキストで始まります
div の可視性の切り替えが機能し、最初にクリックしたときにテキストが「コードを非表示」に変更されますが、ステートメントの ELSE 部分が機能しないため、div がクリックされたときにテキストが「コードを表示」に戻りません。隠れた。なぜこれが起こっているのでしょうか?ありがとう