【问题标题】:Creating Link with Ruby on Rails使用 Ruby on Rails 创建链接
【发布时间】:2011-01-08 10:35:41
【问题描述】:

显然,我对此并不陌生。

我需要使用 rails 与模型中的某些内容建立链接。我的代码是这样的。它甚至可能不是正确的语法:

<li id="nav_home"><%= link_to 'SOMETHING', {:controller => 'inventories', :action => 'home'} %></li>

此代码默认创建文本链接,但我希望链接元素链接。理想情况下,它会这样输出:

<li><a href="goes-to-something"></a></li>

谢谢!

【问题讨论】:

  • 那么,您是否只是想链接到某些东西而不在锚标记之间放置任何文本?这个问题对我来说似乎有点模糊。
  • 我更新了问题,对不起!

标签: ruby-on-rails hyperlink


【解决方案1】:

link_to 的全部意义在于它可以帮助您通过路由创建指向应用程序中资源的链接。如果你想要的只是&lt;li&gt;&lt;a href="#"&gt;&lt;/a&gt;&lt;/li&gt;,那么只需使用&lt;li&gt;&lt;a href="#"&gt;&lt;/a&gt;&lt;/li&gt; --- 不需要涉及link_to。

【讨论】:

  • 我正在链接到模型中的一个页面?
  • 你需要澄清你的问题。你说你想要的输出是&lt;li&gt;&lt;a href="#"&gt;&lt;/a&gt;&lt;/li&gt;。是吗?
  • 是的,我怕我含糊其辞。我想在模型中创建一个相对链接。让我们假设链接位于模型中的某个位置...
  • 请使用您的实际 erb 代码、实际 输出和实际 所需输出更新您的问题。
【解决方案2】:
<li><%= link_to '', '#' %></li>

但这有点疯狂。纯 HTML 很好。或者有link_to_function 会创建一个类似的链接,但有一个onclick 可以执行一些javascript。

或者你可以打电话给其他助手来代替你的"SOMETHING"

<li><%= link_to image_tag('foo.png'), '#' %></li>

渲染:

<li><a href="#"><img src="/images/foo.png"/></a></li>

【讨论】:

    【解决方案3】:

    如果您使用 JavaScript 让这个空链接做某事,您实际上并不需要链接 - 您可以在任何 HTML 元素上放置一个事件并相应地处理。

    【讨论】:

      【解决方案4】:

      我想你想看看 Rail 的 RESTful 命名路由,它提供了各种“inventories_path”和“inventories_url”函数。如果您的 routes.rb 中有“map.resources :inventories”,那么您可以免费获得所有这些功能。

      查看Rails Guide on Routing。然后您可以执行以下操作:

      link_to "SOMETHING", inventory_url(@myinventory)
      

      【讨论】:

        猜你喜欢
        • 2014-03-07
        • 1970-01-01
        • 1970-01-01
        • 2012-03-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多