0

Rails アプリの各ユーザー プロファイル ページ /views/users/show.html.erb に Question モデルのアイテムのリストがあります。アイテムのリストは、/views/questions/index.html.erb にあると思われる情報の一種です。ユーザーが表示リンクをクリックすると、同じページ /views/users/show.html/ にコンテンツが表示されるように配置しました。ユーザーが別の表示リンクをクリックすると、表示されたコンテンツがクリックされた質問の ID に置き換えられ、次のリンクに置き換えられます。ただし、ユーザーが表示をクリックした後、ユーザーがホームページなどを更新しない限り、データを閉じる方法はありません。したがって、ユーザーが表示リンク (10 個のリンクのリストがあるとしましょう) をクリックすると、クリックされたエントリの横にリンクを表示できるようにしたいと考えています (リスト内の 9 個のリンクとは対照的に)。t) ユーザーがデータを非表示にできるようにします。データを非表示にする方法は知っていますが (つまり、同じページに戻るリンクになります)、クリックしたエントリの横にリンクを表示する方法がわかりません。質問のIDを使用して各リンクに一意のクラスIDを与えたので、リンクを区別できますが、ここからどこに行くべきか行き詰まっています。私ができることを提案してもらえますか?

<td><%= link_to "Show", {:controller => 'users', :action =>'show', :question_id =>"#{question.id}"}, {:class => "question #{question.id}"}%></td>

ここに画像の説明を入力

アップデート。すべてのアイテムの横に非表示リンクを配置して、可視性を「非表示」に設定することはできないため、クリックされた表示リンクに対応する非表示リンクの css を可視に設定する方法が必要です。

更新、表示リンクをクリックすると (質問 24 など)、この情報が currentTarget 属性に提供されます。

currentTarget: a.question 24

http://localhost:3000/users/28?question_id=24

したがって、クラス「close 24」とのリンクを表示する必要があります。currentTarget から ID と ID のみを確実に取得するために使用できる正規表現はありますか?

showHide: function(e){

      e.currentTarget

      $('close' + id ).css('visibility', 'visible')

    },
4

1 に答える 1

1

リンクで、質問IDのデータ属性を追加できます

link_to 'text', url, data: { qid: question.id }

次に、あなたのjsで

showHide: function(e) {
  $('.close' + e.currentTarget.data('qid')).css('visibility', 'visible')
}
于 2013-02-27T03:36:25.643 に答える