Tôi đang sử dụng đưa ra 2.0 và đá quý omniauth-twitterBỏ qua xác thực email cho omniauth-twitter trên devise 2.0
Vấn đề là twitter không gửi một email để đáp ứng, vì vậy người sử dụng mô hình ứng dụng của tôi xác nhận rằng có một email và tôi nhận được lỗi sau trong callback:
Email can't be blank
tôi có điều này trong user.rb tôi mô hình:
#config omniauth twitter
def self.find_for_twitter_oauth(access_token, signed_in_resource = nil)
data = access_token.extra.raw_info
if user = User.where(:username => data.screen_name).first
user
else
User.create!(:username => data.screen_name, :password => Devise.friendly_token)
end
end
và tôi có điều này trong tôi omniauth_callbacks_controller.rb
def twitter
@user = User.find_for_twitter_oauth(request.env["omniauth.auth"], current_user)
if @user.persisted?
flash[:notice] = I18n.t "devise.omniauth_callbacks.success", :kind => "Twitter"
sign_in_and_redirect @user, :event => :authentication
else
# http://stackoverflow.com/questions/7117200/devise-for-twitter-cookie-overflow-error
session["devise.twitter_data"] = request.env["omniauth.auth"].except('extra')
redirect_to new_user_registration_url
end
end
Tôi muốn lực lượng cho người sử dụng để cung cấp cho một địa chỉ email để gửi bản tin, advertirser ... vv
Làm thế nào tôi có thể khắc phục vấn đề này?
Cảm ơn bạn!
Cảm ơn jacobaweiss, nhưng tôi cần nhận được email từ người dùng. Tôi không thể lưu trong cơ sở dữ liệu của tôi một người dùng mà không có email của mình: (Có lẽ tôi cần tạo một chuyển hướng và hiển thị một hình thức và người dùng phải viết email để tạo tài khoản của mình. Làm thế nào tôi có thể làm điều đó? Cảm ơn bạn – hyperrjas
Tôi nghĩ rằng bạn cần phải buộc người dùng vào một số biểu mẫu để điền thông tin, nhưng tôi đang tìm cách thực hiện điều đó:/ – CanCeylan