1

ユーザーを生成するためにdeviseを使用しています。first_name 列と last_name 列があります。フォームを送信する際に、ユーザー名を first_first 名の最初の文字と姓にしたいと考えています。

first_name: Michael
last_name: Hopkins
user_name: mhopkins

私はレールに非常に慣れていないため、このロジックをどこに置くかわかりません。誰でも助けてもらえますか?

4

1 に答える 1

2

最も簡単な方法。これをユーザー(または適切な)モデルに入れます

before_create :prepare_username

def prepare_username
 self.user_name = (self.first_name[0] + self.last_name).to_s.downcase
end

注: 最初に first_name と last_name が空でないことを確認してください

于 2013-06-21T18:16:56.810 に答える