テーブル プロジェクトに 3 つの列があります。first_name、last_name、およびフルネーム。
<%= f.hidden_field :first_name, :value => current_user.firstname %>
<%= f.hidden_field :last_name, :value => current_user.lastname %>
ユーザーがプロジェクトを保存すると、ユーザーの名と姓が別々の列に保存されます。姓と名の両方を列のフルネームに保存して、後で検索できるようにしたいと考えています。
だから名前が
first_name = "Joe"
last_name = "Bloggs"
どうやって手に入れますか
fullname = "Joe Bloggs"
これを試しましたが、うまくいきません。
<%=f.hidden_field :fullname, :value => :first_name + :last_name %>
誰かが私を正しい方向に向けることができますか? 私はレールに慣れていないので、助けようとするときはこれを覚えておいてください。ありがとう。
アップデート
これをプロジェクト モデルに追加しました。
def set_fullname
fullname = first_name + last_name
end
そして、私は今これを私の見解で呼んでいます:
<%= f.hidden_field :first_name, :value => current_user.firstname %>
<%= f.hidden_field :last_name, :value => current_user.lastname %>
<%= f.hidden_field :fullname, :value => @project.fullname %>
送信を押して、ログを確認すると、姓と名は通常どおりテーブルに保存されますが、氏名は空白になります。誰が問題が何であるかを見ることができますか?
更新2
意見:
<%= f.hidden_field :first_name, :value => current_user.firstname %>
<%= f.hidden_field :last_name, :value => current_user.lastname %>
<%= f.hidden_field :fullname, :value => @project.set_fullname %>
プロジェクト モデル:
def set_fullname
fullname = first_name + last_name
end
ページにアクセスしようとすると、このエラーが発生します。
undefined method `+' for nil:NilClass