최종 해결책 :레일 3 모델의 성을 조합하여
나는 Devise를 사용하여 인증을 처리하는 Rails 3 앱이 있습니다. 가입 양식에서 나는 다음과 같은 필드가 있습니다
나는 이름과 성을 활용하고 '로그인'(예를 들어 성, 이름)이라는 데이터베이스 필드에 사용자 모델을 결합해야<p><%= f.label :first_name %><br />
<%= f.text_field :first_name %></p>
<p><%= f.label :last_name %><br />
<%= f.text_field :last_name %></p>
. 다음은 전체 사용자 모델입니다.
class User < ActiveRecord::Base
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
attr_accessible :first_name, :last_name, :email, :password, :password_confirmation, :remember_me, :login
validates :first_name, :last_name, :email, :password, :password_confirmation, :presence => true
before_create :create_login
def create_login
self.login = "#{last_name.capitalize}, #{first_name.capitalize}"
end
end
감사합니다.
문자열을 연결하는 구문은 다음과 같아야합니다. self.login = "# {last_name}, # {first_name}" – a3uge
작동하지 않습니까? –
tks @ a3uge 및 @JeffPaquette. 내가 계속 얻고있는 오류는 "정의되지 않은 메소드'capitalize 'for nil입니다 : NilClass" – Jay