0

私はレールアプリを作成しており、リンク(タグ内)であるクラスを持っています。ユーザーへのリンクになりたい<%= User.find_by_id(p.user_id).username %>ので、質問は次のとおりです。

1) ユーザーへのリンクを作成するにはどうすればよいですか?

2) 別のリンクの内側に作成したリンクをクリックすると、外側のリンクがアクティブになります。代わりに、クリックを内部リンクに応答させるにはどうすればよいですか? (下のコード内)。

<div class="row">
    <a class="fg" href="#<%= p.id %>" data-toggle="modal">
        <div class="span6 offset3">
            <div class="thumbnail">
                <table border="0" width="100%" cellpadding="5px">
                    <tr>
                        <td>
                            <%= image_tag(p.thumbnail, class: "hoi") %>
                        </td>

                        <td id="tzt2" width="60%">

                            <div id="withJosefin">
                                <%= p.title %>
                            </div>
                            <div id="withLibre">
                                by <%= User.find_by_id(p.user_id).username %> <%= time_ago_in_words(p.created_at) %> ago
                            </div>
                        </td>
                    </tr>
                </table>
            </div>
        </div>
    </a>
</div>
4

2 に答える 2

3

次の構文を使用してリンクを作成できます。

<% user = User.find_by_id(p.user_id) %>
<%= link_to user.username, user %>

これは次と同等です:

<%= link_to p.user.username, user_path(p.user) %>

ところで、なぜ手動でユーザーをロードするのですか? 関連付けが正しく設定されている場合は、次のように記述できます。

<%= link_to p.user.username, p.user %>

2 番目の質問を理解できたかどうかわかりません。もう少し明確に説明できる場合は、回答を編集します。

于 2013-04-30T14:05:41.840 に答える
0

ハイパーリンクをネストすることはできません。JavaScript を使用してネストされたハイパー リンクの効果をシミュレートするか、有効なマークアップになるようにマークアップを再編成することをお勧めします。つまり、最初のタグに div などを含めないでください。

于 2013-04-30T14:14:10.703 に答える