DangerousAttributeError в OmniAuth Railscast Tutorial:create определяется ActiveRecord

. Я просмотрел ActiveRecord ::DangerousAttributeError и другие подобные темы на SO, но они не решают ту же проблему.

Я следую руководству по omniauth:http://railscasts.com/episodes/235-omniauth-part-1?view=asciicast

Я могу пройти аутентификацию через oauth в Twitter и вернуть данные пользователя (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'

Аутентификации_Контроллер:

  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

Как устранить эту ошибку? Поиск в Google на этом сайте и других не помогает мне понять, что происходит, чтобы исправить это. Спасибо

8
задан Community 23 May 2017 в 11:45
поделиться