「誕生日」というフィールドが空白ではないこと、および日付が Chronic gem が解析できる有効な日付形式であることを検証しようとしているフォームがあります。「誕生日が無効です」というエラー メッセージが常に表示されます。シンプルなフォーマット「10/10/2010」を試してみました。
誕生日フィールドが慢性的に解析できる形式であることを確認するにはどうすればよいですか?
User.rb モデル
class User < ActiveRecord::Base
validates :birthday, :presence => true
validate :birthday_is_date
validate :position, :presence => true
# validate the birthday format
def birthday_is_date
errors.add(:birthday ,Chronic.parse(birthday)) # testing to see the value of :birthday
errors.add(:birthday, "is invalid test message") if ((Chronic.parse(:birthday) rescue ArgumentError) == ArgumentError)
end
end
contact_controller.rb
# POST /contacts/1/edit
# actually updates the users data
def update_user
@userProfile = User.find(params[:id])
respond_to do |format|
if @userProfile.update_attributes(params[:user])
format.html {
flash[:success] = "Information updated successfully"
redirect_to(profile_path)
}
else
format.html {
flash[:error] = resource.errors.full_messages
render :edit
}
end
end
end