0

これは本当に単純でなければなりませんが、私は立ち往生しています。

fnameとlnameの2つのフィールドを組み合わせて、Showメソッドへのリンクとして使用します。

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

一番上の行は、必要な場所にリンクしています。ただし、2行目には、特定のレコードにはリンクせず、インデックスページのみにリンクしているにもかかわらず、希望どおりに名前と名前が表示されます。

2行目を特定のレコードにリンクするにはどうすればよいですか?

ありがとう

スコット

4

2 に答える 2

1

最善のオプションは、personモデルにフルネームの属性を作成することです。

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

次に、ビューで次を使用できます。

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

これは、ルートを内部で適切に宣言していることを前提としていますroutes.rb

于 2012-12-28T22:54:22.917 に答える
1

これを試して:

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

誤って行った理由は、2つの<%=%>区切り文字を追加することにより、リンクを異なる部分に分割することです。あなたがする必要があるのは、link_toの最初の引数としてfnameとlnameを結合することです。そして、それらは2番目の引数としてオブジェクトを提供するので、link_toは生成するリンクを認識します。

余談ですが、文字列を結合するより速い方法は、補間を使用することです。

<%= link_to "#{person.fname} #{person.lname}", person %>
于 2012-12-28T22:54:47.200 に答える