链接中的链接?

时间:2013-04-30 13:58:49

标签: html ruby-on-rails hyperlink

我正在制作一个rails应用程序,我有一个链接类(它在标签内)。我希望<%= 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>

2 个答案:

答案 0 :(得分: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 %>

我不确定我理解你的第二个问题。如果你能更清楚地解释一下,我会编辑我的答案。

答案 1 :(得分:0)

你无法嵌套超链接。 您可以使用一些JavaScript来模拟嵌套超链接的效果,或者更好的解决方案是重新组织您的标记,使其成为有效的标记。即你的第一个标签不应包含div等。