link_to 阻止无效
link_to block not working
我正在使用一系列 link_to
块在我的应用程序中创建按钮。但是我发现这些 links 并没有结束工作。当我将鼠标悬停在按钮上时,它识别出 link,正确的 url 显示在 firefox 的左下角,但是当我单击时,没有任何反应。我的终端或开发日志中也没有任何内容。
我的代码如下:
<%= link_to new_folder_path do%>
<div class="btn btn-default add-button add_fields"><span class="glyphicon glyphicon-plus"></span>Add Folder</div>
<% end %>
这会呈现以下内容 html:
<li>
<a href="/folders/new">
<div class="btn btn-default add-button add_fields"><span class="glyphicon glyphicon-plus"></span>Add Folder</div>
</a>
</li>
我还应该注意,如果我只是在没有 do 块的情况下键入标准 link,它运行得很好:
<li><%= link_to "test", new_folder_path %></li>
如有任何想法,我们将不胜感激!
试试这个。
= link_to "<span class='glyphicon glyphicon-plus'></span>Add Folder".html_safe, new_folder_path, class: 'btn btn-default add-button add_fields'
您最好使用 button_to
作为按钮 -
Generates a form containing a single button that submits to the URL created by the set of options.
因此,您可以使用:
而不是 link_to
<%= button_to "Add Folder", new_folder_path, class: "btn btn-default add-button add_fields glyphicon glyphicon-plus" %>
作为旁注,如果您尝试在 内部 元素设置 <a>
标签的样式,您将会遇到问题。您可以更好地设计 <a>
标签本身的样式,或者根本不用。
因此,您遇到的问题可能可以通过以下方式解决:
<%= link_to "Add Folder", new_folder_path, class: "btn btn-default add-button add_fields glyphicon glyphicon-plus" %>
--
图标
我知道 Bootstrap 包括 Glyphicons
。如果它们类似于 ionIcons
,它们将通过在字形前面加上 :before
伪 class.
来工作
如果是这种情况,您不需要单独的<span>
元素来封装它们;只需将 class 添加到您的 link/button 并且 :before
应该放在前面。
当然,如果你想在 link 内设置 span 的样式,你必须使用 link_to
块;但是,您需要确保将文本包含在 span
中,而不是没有任何内容。
原来我在我的 div 中丢了一个 class,阻止了 link 渲染(add_fields
是 class)。令人非常不满意的答案就是这样。感谢所有花时间给我提示的人。
我正在使用一系列 link_to
块在我的应用程序中创建按钮。但是我发现这些 links 并没有结束工作。当我将鼠标悬停在按钮上时,它识别出 link,正确的 url 显示在 firefox 的左下角,但是当我单击时,没有任何反应。我的终端或开发日志中也没有任何内容。
我的代码如下:
<%= link_to new_folder_path do%>
<div class="btn btn-default add-button add_fields"><span class="glyphicon glyphicon-plus"></span>Add Folder</div>
<% end %>
这会呈现以下内容 html:
<li>
<a href="/folders/new">
<div class="btn btn-default add-button add_fields"><span class="glyphicon glyphicon-plus"></span>Add Folder</div>
</a>
</li>
我还应该注意,如果我只是在没有 do 块的情况下键入标准 link,它运行得很好:
<li><%= link_to "test", new_folder_path %></li>
如有任何想法,我们将不胜感激!
试试这个。
= link_to "<span class='glyphicon glyphicon-plus'></span>Add Folder".html_safe, new_folder_path, class: 'btn btn-default add-button add_fields'
您最好使用 button_to
作为按钮 -
Generates a form containing a single button that submits to the URL created by the set of options.
因此,您可以使用:
而不是link_to
<%= button_to "Add Folder", new_folder_path, class: "btn btn-default add-button add_fields glyphicon glyphicon-plus" %>
作为旁注,如果您尝试在 内部 元素设置 <a>
标签的样式,您将会遇到问题。您可以更好地设计 <a>
标签本身的样式,或者根本不用。
因此,您遇到的问题可能可以通过以下方式解决:
<%= link_to "Add Folder", new_folder_path, class: "btn btn-default add-button add_fields glyphicon glyphicon-plus" %>
--
图标
我知道 Bootstrap 包括 Glyphicons
。如果它们类似于 ionIcons
,它们将通过在字形前面加上 :before
伪 class.
如果是这种情况,您不需要单独的<span>
元素来封装它们;只需将 class 添加到您的 link/button 并且 :before
应该放在前面。
当然,如果你想在 link 内设置 span 的样式,你必须使用 link_to
块;但是,您需要确保将文本包含在 span
中,而不是没有任何内容。
原来我在我的 div 中丢了一个 class,阻止了 link 渲染(add_fields
是 class)。令人非常不满意的答案就是这样。感谢所有花时间给我提示的人。