私はSOでActiveRecord::DangerousAttributeErrorと他の同様のスレッドを見てきましたが、同じ問題に対処していません。
私はomniauthチュートリアルに従っています:http ://railscasts.com/episodes/235-omniauth-part-1?view = asciicast
Twitterでoauthを介して認証し、ユーザーのデータ(auth)を返すことができます。問題は、このエラーメッセージが原因で、データベース(sqlite3)で作成/保存できないことです。
エラー:
ActiveRecord::DangerousAttributeError in AuthenticationsController#create
create is defined by ActiveRecord
Rails.root: /beta/devise-omniauth1
Application Trace | Framework Trace | Full Trace
app/controllers/authentications_controller.rb:15:in `create'
Authentications_Controller:
def create
auth = request.env["omniauth.auth"]
current_user.authentications.create(:provider => auth['provider'], :uid => auth['uid'])
flash[:notice] = "Authentication successful."
redirect_to authentications_url
end
モデル:
class Authentication < ActiveRecord::Base
belongs_to :user
end
class User < ActiveRecord::Base
has_many :authentications
# Include default devise modules. Others available are:
# :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :password_confirmation, :remember_me
end
このエラーを回避するにはどうすればよいですか?このサイトや他のサイトでグーグルすると、それを修正するために何が起こっているのかを理解するのに役立ちません。ありがとう