【问题标题】:Rails link_to with erg for link text带有 erg 的 Rails link_to 用于链接文本
【发布时间】:2012-12-29 06:54:47
【问题描述】:

这必须非常简单,但我被卡住了。

我想将两个字段 fname 和 lname 放在一起并用作 Show 方法的链接。

<%= link_to 'Show', person %>
<%= link_to person.fname %> <%= person.lname %>

顶行链接到我需要它去的地方。但是,第二行以我想要的方式显示名字和姓氏,虽然它没有链接到特定记录,只是索引页面。

我怎样才能获得指向特定记录的第二行链接?

谢谢

斯科特

【问题讨论】:

  • 请注意,link_to 的第一个参数可以是字符串,您可以根据需要组合字符串,即组合两个字符串、其他表达式等。

标签: ruby-on-rails link-to


【解决方案1】:

试试这个:

<%= link_to person.fname + " " + person.lname, person %>

您无意中通过添加两个 分隔符将链接拆分为不同的部分。您需要做的是将 fname 和 lname 连接在一起作为 link_to 的第一个参数,并将对象作为第二个参数提供,以便 link_to 知道要生成哪个链接。

顺便说一句,将字符串连接在一起的更快方法是使用插值:

<%= link_to "#{person.fname} #{person.lname}", person %>

【讨论】:

    【解决方案2】:

    您最好的选择是在您的personmodel 上为其全名创建一个属性:

    def full_name
      self.fname + ' ' + self.lname
    end
    

    那么在你看来,你可以使用:

    <%= link_to person.full_name, person_path(person) %>
    

    这是假设您已在 routes.rb 中正确声明了您的路线。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-14
      • 2011-02-02
      • 1970-01-01
      • 2013-07-22
      • 2023-04-04
      • 2012-04-21
      • 2011-07-20
      • 1970-01-01
      相关资源
      最近更新 更多