gpt4 book ai didi

ruby-on-rails - OmniAuth Railscast 教程中的 DangerousAttributeError : create is defined by ActiveRecord

转载 作者:数据小太阳 更新时间:2023-10-29 06:52:20 26 4
gpt4 key购买 nike

我看过ActiveRecord::DangerousAttributeError和 SO 上的其他类似线程,但它们没有解决相同的问题。

我正在学习 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

我该如何克服这个错误?在此站点和其他站点上进行谷歌搜索并不能帮助我了解正在发生的事情以修复它。谢谢

最佳答案

我只是在使用相同的 RailsCast 之后遇到了这个问题。

教程说要运行:

rails g nifty:scaffold authentication user_id:integer \
provider:string uid:string index create destroy

但我的机器上没有漂亮的脚手架,我只是跑了

rails g scaffold authentication user_id:integer \
provider:string uid:string index create destroy

行为不同。它不是创建 stub “索引”、“创建”和“销毁” Controller 方法,而是在数据库中创建字段。

删除它们,如前所述,它可以正常工作。

关于ruby-on-rails - OmniAuth Railscast 教程中的 DangerousAttributeError : create is defined by ActiveRecord,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10221273/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com