问题标签 [ruby-on-rails-4.2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
271 浏览

ruby-on-rails - Rails Girls Guides 使用 Devise 添加身份验证的问题

我对 Rails 很陌生,我正在尝试使用“设计”构建用户身份验证系统,但我失败了。我正在关注 Rails Girls Guides 关于使用 gem 'devise' 添加身份验证的教程。一旦我进入第 5 步,即设置用户模型,我在运行后收到此错误rake db:migrate

有没有人解决这个错误?我查看了所有解决方案,例如在安装 devise 之前不生成用户模型运行 bundle install运行 rails g devise:install等等。当我尝试将设计用于 Rails 4.0 时,到目前为止没有任何效果。

另外,有人对我可以遵循哪些教程来构建身份验证系统有建议吗?到目前为止,我已经尝试了很多,但都没有奏效。

0 投票
1 回答
1347 浏览

ruby-on-rails - Rails 4.2 ActiveModel::ForbiddenAttributesError 保存带有关联的模型时

我有一个在 Rails 4.0.3 上运行良好的应用程序今天当我尝试升级到 Rails 4.2.0 时,出现以下代码错误:

和错误信息:

该函数的作用是在交易中保存与其相关活动的竞争。

我将以下行定义为关联:

那么在 Rails 4.2 中发生了什么变化使其抛出这个异常呢?

0 投票
4 回答
5661 浏览

ruby-on-rails - Rails 4.2.0 中简单整数赋值的 RangeError 应该被验证捕获

* 更新:这已在 4.2.stable 和 4.2.1 中修复 *

在 Rails 4.2.0(和当前的 4.2.stable)中,该ensure_in_range方法发生在 AR 验证之前,产生一个RangeError

如果我做一些简单的事情

在具有 postgres 类型整数的列上

它产生

RangeError: 10000000000 is out of range for ActiveRecord::ConnectionAdapters::PostgreSQL::OID::Integer with limit 4 from .../2.0.0-p598/lib/ruby/gems/2.0.0/bundler/gems/rails -62e9e61f2d1b/activerecord/lib/active_record/type/integer.rb:41:in `ensure_in_range'

这是真的!但告诉用户。有一个 ActiveRecord 模型验证,例如

我无法想象这是预期的行为,任何人有任何解释为什么这种类型转换发生在验证之前?

0 投票
1 回答
19 浏览

ruby-on-rails-4.2 - 如何添加新参数

我仍在学习 ruby​​ on rails。

我的第一个站点正在运行,但现在我遇到了这个问题:

我跑铁轨generate scaffold staat name:string hauptstadt:string einwohner:integer sprache:string

为 staat 添加像“test:string”这样的参数的最佳方法是什么?

0 投票
0 回答
915 浏览

ruby-on-rails-4.2 - Rails runner 和 ActiveJobs(兼容?)

需要每月运行一次作业。我需要在 cron 中使用 gem 调用它。在这种情况下使用工作或耙子?

我无法在控制台中运行我的工作。

rails runner 'MyJob.perform_later'

我正在使用 Rails 4.2

错误:

.rvm/gems/ruby-2.1.4/gems/railties-4.2.0/lib/rails/commands/runner.rb:62:in <top (required)>': uninitialized constant MyJob (NameError) from /Users/leonardo/.rvm/gems/ruby-2.1.4/gems/railties-4.2.0/lib/rails/commands/runner.rb:62:ineval' 来自 /Users/leonardo/.rvm/gems/ruby-2.1.4 /gems/railties-4.2.0/lib/rails/commands/runner.rb:62:in<top (required)>' from /Users/leonardo/.rvm/gems/ruby-2.1.4/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:123:in来自 /Users/leonardo/.rvm/gems/ruby-2.1.4/gems/railties-4.2.0/lib /rails/commands/commands_tasks.rb:123:in require_command!' from /Users/leonardo/.rvm/gems/ruby-2.1.4/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:90:inrunner' 来自 /Users/leonardo/.rvm/gems/ruby-2.1.4/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:39 :in run_command!' from /Users/leonardo/.rvm/gems/ruby-2.1.4/gems/railties-4.2.0/lib/rails/commands.rb:17:in'来自 bin/rails:4:in require' from bin/rails:4:in'

我的工作内容:

类 MyJob < ActiveJob::Base queue_as :default

结尾

0 投票
1 回答
996 浏览

ruby-on-rails - 我应该使用rails 4.2添加foreign_key吗?

通过发布 rails 4.2 add_foreign_key方法被引入。据我了解,它被用作迁移与model:references和的组合add_index

假设我只使用 PostreSQL。(add_foreign_key仅限于 MySQL 和 PostreSQL)。应该停止使用migration model:references并仅add_index开始使用add_foreign_key吗?如果是/否,为什么?新add_foreign_key方法有什么好处?值得换吗?

0 投票
1 回答
1019 浏览

ruby-on-rails - 使用 Globalize 和 Friendly_id 将同一页面重定向到不同的语言

在过去的几个小时里,我一直在挠头,寻找答案,但我在任何地方都找不到。

我的宝石文件:

情况如下:

我有两种语言“en”和“fr”

2 个模型: pages 和 pages_translations pages 有一个 slug 列, pages_translations 也有一个 slug 列。

如果我查看页面 -> en/pages/slug-en,它可以工作。

如果我查看页面-> fr/pages-slug-fr,它可以工作。

所以我假设friendly_id 和globalize 配置正确。

但是我的问题是我无法使用以下方法使语言切换器工作:

路线变成 en/pages/slug-fr (即语言改变,但不是 slug)。

我已经在初始化程序中激活了 config.use :finders。

我的页面模型:

那么我需要做什么才能在我的语言切换器上设置正确的路径?理想情况下,我希望它适用于任何模型,而不仅仅是 Page 模型。

谢谢!- 文森特

0 投票
1 回答
1312 浏览

ruby-on-rails - Rails 4.2 没有读取 Database.yml 的环境变量

我的 database.yml 文件似乎没有正确选择环境变量。当我直接输入密码时,没有问题,所以我知道这不是密码问题。我也重新启动了服务器。

此外,当我在服务器上启动 IRB 并输入 ENV["DB_PASSWORD" 时,它会返回:

数据库.yml

.bashrc

0 投票
1 回答
7893 浏览

actionmailer - 为 ActionMailer Deliver_later 设置默认队列?

您可以通过添加 :queue 作为可选参数来指定在 ActionMailer 中调用 Deliver_later 时使用哪个队列,例如:

Notifier.welcome(User.first.id).deliver_later(queue: "low")

对于所有 ActionMailers,有没有办法以一般方式执行此操作?设置默认的 ActionMailer 队列?

0 投票
1 回答
317 浏览

ruby-on-rails - 如何在 Rails 4 中使用“meta_tags gem”

我的使用方式:

错误如下所示:

我已经安装了bundle...有什么问题?