0

Contacts というテーブルがあります。その列のうちの 2 つは、email と maxname と呼ばれます。連絡先が作成されたら、メール フィールドの @ の前のテキストに maxname を設定します。したがって、新しい連絡先が jebb@gmail.com の場合、彼の maxname は jebb になります。

テストのために、電子メール全体を maxname に入れようとしています (電子メールのテキストを解析する方法を理解する前に)。

したがって、連絡先モデルに次のコードを配置します。

  before_create :set_maxname
  before_update :set_maxname

  protected
  def set_maxname
    self.maxname = self.email
  end

それはうまくいきます。しかし、どうすれば self.email を解析して @ の前の部分を取得できますか??

助けてくれてありがとう!!

4

2 に答える 2

1

私の頭の上から、そうすることはうまくself.email.split('@')[0]いくでしょう。

編集: また、この例では self は実際には必要ありません。明示的ですが、必須ではありません。

于 2013-04-26T21:28:40.500 に答える