耙子迁移中止

我正在运行Ruby 2.0.0,并正确安装了它。 刚刚加载了一个gem'设计',当我尝试迁移我的数据库更改时,它不起作用:

$ rake db:迁移rake中止! attr_accessible从Rails中提取出来成为一个gem。 请为params(strong_parameters)使用新推荐的保护模型,或者将protected_attributes添加到您的Gemfile中以使用旧模型。

然后,在另一个Stackoverflow帖子后,他们推荐安装Bundler。 我做到了这一点,并得到这个:

$ bundle exec rake db:迁移rake中止! attr_accessible从Rails中提取出来成为一个gem。 请为params(strong_parameters)使用新推荐的保护模型,或者将protected_attributes添加到您的Gemfile中以使用旧模型。

有人愿意接受挑战吗?


它看起来像你试图使用Rails 4.0.0beta不是(恕我直言)的新手最好的选择。 您最好切换回Rails 3 *,并产生记录良好,经过测试的rock-n-rolling环境的所有优点。 如果你仍然决定坚持Rails 4 ......以前没有严格的规则来处理大规模的任务。 Rails 4使用强参数标准化了这些参数 ,这些参数被合并到rails core中。 因此,你应该像下面这样做:

# controllers/my_controller.rb
def create
    @app = MyApp.new(my_params)
  if @app.save
    redirect_to app_path(@app)
  else
    render :new, alert: 'There was a problem'
  end
end

private

def my_params
  params.require(:app).permit(:title, :password)
end

赋值逻辑现在被封装在一个私有方法中,以允许某些值充当参数。


请使用支持Rails 4的Devise 3.0.0.rc。

您需要:

  • 恢复更改并删除旧版Devise生成的文件。
  • 更新Gemfile

    gem 'devise', '3.0.0.rc'
    
  • 运行bundle install
  • 重新生成设计初始化器和迁移。
  • 链接地址: http://www.djcxy.com/p/6107.html

    上一篇: Rake migration aborted

    下一篇: How to reinstall a gem using bundler