5 + Postgresのアプリを使用する前に、すべての結果は、私はこのようなクエリを行うかどうかを確認:。Railsの5 ActiveRecordは - 私のRailsのメソッド
user = User.where("name = ?", name).first.email
だからこれは私の名前の最初のユーザーの電子メールを与えます
しかし、この名前とは、ユーザーが、私はエラーを取得する存在しない場合:私は、メソッドを使用する前に、任意の結果を持っている場合
NoMethodError (undefined method `email' for nil:NilClass)
はどうすれば確認できますか?
さまざまな方法で使用してこれを実行する場合、私は場合は、句と考えることができます。
user = User.where("name = ?", name).first
if user
user_email = user.email
end
しかし、これは最もエレガントな方法ではないようですし、私はRailsがより良い方法を持っていると確信しています。
あなたのRubyに '&.':' User.where(name:name).firstがない場合は、 'Railsで'試してみることもできます。try(:name) 'を実行します。しかし '試してみてください'から出ないNoMethodErrorsもまた捨てるので、 'try!'が必要なことがあります。 –