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

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 回答
7693 浏览

ruby-on-rails - ActionController::UnfilteredParameters(无法将未经许可的参数转换为哈希) - Rails 5

我有这个错误,但不太确定如何解决它。我有一个 API 版本模块 VI,我的用户控制器模块是这样的

我有一个注册功能,每次我想记录参数时,我都会收到一个错误

ActionController::UnfilteredParameters(无法将未经许可的参数转换为哈希)

鉴于我已经允许我的用户模型的属性,不确定如何解决这个问题。

我没有包含 gem strong_parameters 但不确定是否必须包含,因为我认为我不必包含它。

我知道允许这些属性适用于 Rails 4,但不确定为什么它不适用于 Rails 5。我还需要在我的模型上做任何事情吗?

0 投票
1 回答
1925 浏览

ruby-on-rails - 在 Rails 5.1 中将 ActionCable 与 Webpacker 集成

我正在将我的应用程序从 Rails 5.0 升级到 5.1,并且我找不到任何地方提到的一件事 - 使用 Webpacker 来处理 ActionCable JavaScript 文件。

我意识到 Webpacker 和资产管道应该并排工作,但是现在我们已经将 Webpack 构建到 Rails 中,不将它用于位于assets目录(ActionCable 所在的位置)中的文件将是一种浪费,但我可以找不到有关如何执行此操作的任何信息。

我对 Babel 特别感兴趣,所以我可以使用 ES6。有任何想法吗?

0 投票
1 回答
145 浏览

ruby-on-rails - bootstrap-confiirmation 不处理方法:在 rails 应用程序中删除

我正在尝试将 bootstrap-confirmation 用于带有数据表的索引视图和用于删除行项目的列。我让它在没有确认的情况下工作,或者使用默认确认,但没有使用 bootstrap-confirmation,它会将我发送到 show 方法,而不是控制器的 delete 方法。就像它没有看到方法一样::删除

这是我在索引视图中调用它的方式。弹出确认显示,但是当我单击确定时,它会将我发送到显示页面。

以下工作(未经确认),所以我知道我的路线、控制器操作等工作。

有任何想法吗?

以下是我的观点:

0 投票
2 回答
1510 浏览

mysql - 具有不同的 Rails 查询

我很难弄清楚如何正确查询我的数据库。

我的查询如下:

事件模型中有一个名为 的列name,我需要返回所有name不同的事件,但我还需要所有列。我将如何做到这一点?

我认为这会起作用,但事实并非如此:

然后我意识到它不知道看什么来判断唯一性,我如何告诉唯一性看名称列来判断唯一性?

数据:

应该返回

谢谢,

0 投票
1 回答
1307 浏览

mysql - 使用 JSON Rails 一对多的嵌套属性

我正在解决nested_attribute 的问题。

团队.rb:

控制台输出:

所以,我team_id在控制器中忽略了创建并将其作为 null 发送到player_id. 获得许可后,rails 进入控制器的是:

在我看来(可能是我的错误)rails 应该以这种方式提供这种关系。我测试了它删除嵌套属性idteam_id但不起作用。

导轨返回:

控制器:

冈比亚拉

如果我在保存团队之前对嵌套属性执行此操作,则团队 1 必须存在才能正常工作。如果我只保存团队并且在创建关系之后它也不起作用,只有当我设置“gambiarra”解决方案时。

如何解决这种关系?如前所述,我的控制器仅过滤嵌套数据的属性。如果我使用 HTML 提交,工作正常,如果我使用 JSON 作为嵌套对象,它不起作用,除非我强制关系在保存之前为我的播放器找到一个team_id,等等,rails 将保存并提交正确的播放器是预计team_id在我的播放器中没有一个。

0 投票
2 回答
2717 浏览

ruby-on-rails - RSpec 请求警告 - Rails 5.1 升级 - 资产管道中不存在资产

我正在将 Rails 5.0.1 应用程序升级到 Rails 5.1 并遇到一些弃用警告。我能够解决除一个以外的所有问题。

我做了一些搜索,但没有找到明确的答案。

背景

这是一个刚刚完成的应用程序。我刚刚将 Rails 版本更新到 5.1

我有一些 RSpec 请求规范。他们在(设计)登录中测试重定向。此错误显示在这些规范中。

控制器规格运行良好。我在有关 css、js、图像等的请求规范中看到了这个警告。

我确实dashboard.js在资产管道中。并且有一个app/assets/javascripts/dashboard.coffee文件。

警告

这是我看到的警告。

我试过的

  • 手动预编译资产没有解决

我感谢有关如何解决此警告的任何建议。

我认为资产管道被绕过了规范。

0 投票
0 回答
821 浏览

ruby-on-rails - 使用 Yarn 部署 Heroku 时 Rails 5.1 应用程序冻结

我刚刚将我的第一个 Rails 5.1 应用程序部署到 Heroku,并且似乎遇到了 Yarn 的障碍。

当我尝试部署时,它每次都在同一阶段冻结。它会持续 30 分钟或更长时间,到那时我会感到无聊并重新开始。

我的 package.json 中只有:

完整的部署日志如下:

其他人有同样的问题吗?

0 投票
1 回答
1127 浏览

ruby - Webpacker、Yarn 和 capistrano、fsevents@1.1.1 错误

我有一个项目,我最近从 rails 5.0 迁移到 rails 5.1,在此之前我安装了 webpacker 并使用 capistrano 部署它,在 rails 5.0 中一切正常,但是当我进行更改时,现在 capistrano 无法完成资产:预编译任务,我收到此错误:

** 部署失败 ** 有关详细信息,请参阅 log/capistrano.log。这是最后 20 行: ..... DEBUG [04ae7a64] 命令: cd /home/deploy/my-site/releases/20170602233846 && ( export RAILS_ENV="staging" ; ~/.rvm/bin/rvm default do bundle exec rake assets:precompile )

调试 [04ae7a64] 纱线安装 v0.24.5

调试 [04ae7a64] [1/4] 解决包...

调试 [04ae7a64] [2/4] 正在获取包...

调试 [04ae7a64] 警告 fsevents@1.1.1:平台“linux”与此模块不兼容。

DEBUG [04ae7a64] info "fsevents@1.1.1" 是一个可选依赖项,兼容性检查失败。从安装中排除它。

调试 [04ae7a64] [3/4] 链接依赖项...

调试 [04ae7a64] [4/4] 构建新包...

调试 [04ae7a64] 在 9.29 秒内完成。

我正在使用带有 ubuntu 的本地计算机,并且 ubuntu 也安装在服务器中。

我不知道在哪里需要 fsevents@1.1.1 作为依赖项,但自 2 天前以来我无法进行部署,而且我还没有找到解决方案。

0 投票
1 回答
478 浏览

foreign-keys - 如果我已经为要关联的表创建了模型,如何在 rails 5 中创建外键?

我找到的所有参考资料要么向我展示了如何在创建表时执行此操作,要么用于更早版本的 rails。理想情况下,我希望在问题表中将 foreign_key 命名为“author_id”,以将其与其他可能稍后留下评论或答案的用户区分开来。

0 投票
1 回答
3513 浏览

ruby-on-rails - 如何在 Rails 5.1 中关闭 BIGINT 主键

Rails 5.1 迁移为表的主键(changelogBIGINT )生成(而不是)。Integer

是否可以在配置中的某处禁用它?如果是这样,如何禁用它?