我对link_to的ruby语法很好奇

时间:2017-08-14 13:14:45

标签: html ruby-on-rails ruby

我用过它。

下面的代码
<%= link_to user.nickname, conversations_path(user_id: user), remote: true, method: :post %>

我通过db中定义的nickname方法表达了user.nickname。 但我知道的link_to语法是'name',url。 如何在没有''的情况下用user.nickname表示第一个代码? 我想更改第一个代码中出现的文本,但user.nickname不能更改为另一个,因为它没有在''中表示。 我怎么能像我所知的语法一样使用它?

1 个答案:

答案 0 :(得分:4)

link_to的第一个参数是一个字符串。字符串来自哪里并不重要。它可以来自用户的对象

link_to user.nickname, ...

或是字符串文字

link_to "Joe", ...
  

我想更改第一个代码中出现的文字

所以只需将user.nickname替换为您想要使用的内容。但是如果你使用字符串文字,它对所有用户都是一样的。

如果你想要为所有昵称附加一个静态字符串,你可以使用字符串连接。

link_to user.nickname + " (new)"

或字符串插值

link_to "#{user.nickname} (new)"

这些不同的方式现在很可能看起来像是一些神秘的不直观的法术,但是当理解一段语法之间的区别时,#34;和&#34;它代表的价值&#34;点击你的头脑,它会变得明显。