问题标签 [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.
ruby-on-rails - ActionController::UnfilteredParameters(无法将未经许可的参数转换为哈希) - Rails 5
我有这个错误,但不太确定如何解决它。我有一个 API 版本模块 VI,我的用户控制器模块是这样的
我有一个注册功能,每次我想记录参数时,我都会收到一个错误
ActionController::UnfilteredParameters(无法将未经许可的参数转换为哈希)
鉴于我已经允许我的用户模型的属性,不确定如何解决这个问题。
我没有包含 gem strong_parameters 但不确定是否必须包含,因为我认为我不必包含它。
我知道允许这些属性适用于 Rails 4,但不确定为什么它不适用于 Rails 5。我还需要在我的模型上做任何事情吗?
ruby-on-rails - 在 Rails 5.1 中将 ActionCable 与 Webpacker 集成
我正在将我的应用程序从 Rails 5.0 升级到 5.1,并且我找不到任何地方提到的一件事 - 使用 Webpacker 来处理 ActionCable JavaScript 文件。
我意识到 Webpacker 和资产管道应该并排工作,但是现在我们已经将 Webpack 构建到 Rails 中,不将它用于位于assets
目录(ActionCable 所在的位置)中的文件将是一种浪费,但我可以找不到有关如何执行此操作的任何信息。
我对 Babel 特别感兴趣,所以我可以使用 ES6。有任何想法吗?
ruby-on-rails - bootstrap-confiirmation 不处理方法:在 rails 应用程序中删除
我正在尝试将 bootstrap-confirmation 用于带有数据表的索引视图和用于删除行项目的列。我让它在没有确认的情况下工作,或者使用默认确认,但没有使用 bootstrap-confirmation,它会将我发送到 show 方法,而不是控制器的 delete 方法。就像它没有看到方法一样::删除
这是我在索引视图中调用它的方式。弹出确认显示,但是当我单击确定时,它会将我发送到显示页面。
以下工作(未经确认),所以我知道我的路线、控制器操作等工作。
有任何想法吗?
以下是我的观点:
mysql - 具有不同的 Rails 查询
我很难弄清楚如何正确查询我的数据库。
我的查询如下:
事件模型中有一个名为 的列name
,我需要返回所有name
不同的事件,但我还需要所有列。我将如何做到这一点?
我认为这会起作用,但事实并非如此:
然后我意识到它不知道看什么来判断唯一性,我如何告诉唯一性看名称列来判断唯一性?
数据:
应该返回
谢谢,
mysql - 使用 JSON Rails 一对多的嵌套属性
我正在解决nested_attribute 的问题。
团队.rb:
控制台输出:
所以,我team_id
在控制器中忽略了创建并将其作为 null 发送到player_id
. 获得许可后,rails 进入控制器的是:
在我看来(可能是我的错误)rails 应该以这种方式提供这种关系。我测试了它删除嵌套属性id
,team_id
但不起作用。
导轨返回:
控制器:
冈比亚拉:
如果我在保存团队之前对嵌套属性执行此操作,则团队 1 必须存在才能正常工作。如果我只保存团队并且在创建关系之后它也不起作用,只有当我设置“gambiarra”解决方案时。
如何解决这种关系?如前所述,我的控制器仅过滤嵌套数据的属性。如果我使用 HTML 提交,工作正常,如果我使用 JSON 作为嵌套对象,它不起作用,除非我强制关系在保存之前为我的播放器找到一个team_id
,等等,rails 将保存并提交正确的播放器是预计team_id
在我的播放器中没有一个。
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
文件。
警告
这是我看到的警告。
我试过的
- 手动预编译资产没有解决
我感谢有关如何解决此警告的任何建议。
我认为资产管道被绕过了规范。
ruby-on-rails - 使用 Yarn 部署 Heroku 时 Rails 5.1 应用程序冻结
我刚刚将我的第一个 Rails 5.1 应用程序部署到 Heroku,并且似乎遇到了 Yarn 的障碍。
当我尝试部署时,它每次都在同一阶段冻结。它会持续 30 分钟或更长时间,到那时我会感到无聊并重新开始。
我的 package.json 中只有:
完整的部署日志如下:
其他人有同样的问题吗?
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 天前以来我无法进行部署,而且我还没有找到解决方案。
foreign-keys - 如果我已经为要关联的表创建了模型,如何在 rails 5 中创建外键?
我找到的所有参考资料要么向我展示了如何在创建表时执行此操作,要么用于更早版本的 rails。理想情况下,我希望在问题表中将 foreign_key 命名为“author_id”,以将其与其他可能稍后留下评论或答案的用户区分开来。
ruby-on-rails - 如何在 Rails 5.1 中关闭 BIGINT 主键
Rails 5.1 迁移为表的主键(changelogBIGINT
)生成(而不是)。Integer
是否可以在配置中的某处禁用它?如果是这样,如何禁用它?