问题标签 [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 回答
35 浏览

ruby-on-rails - 更新两个 Active Record 回调中的记录

好吧,偶然发现了这个奇怪的东西。我的用户模型中有这个。

(出于说明目的简化了代码)

当我创建我的用户并在控制台中检查它时,我得到role: 1, customer_id: nil. 但是!,如果我从第一个回调中删除保存一切正常。

产生role: 1, customer_id: "hello". 所以似乎它只读取.save回调中的第一个。我想了解确切的行为是什么以及为什么。我花了很多时间试图查明这一点,并且不想再次偶然发现类似的东西。

编辑:

也许这很有帮助。当我使用 self.save 时!在subscribe_to_basic_plan我得到一个错误,记录根本没有保存。放入assign_roleself.save!不会改变任何东西,所以问题肯定出在第二个.save.

0 投票
1 回答
2059 浏览

jquery - 在 rails 5.1 上使用 Yarn bootstrap@4.0.0-alpha.6 安装

我正在按照本教程使用 Yarn 安装 Bootstrap,这是 Rails 5.1 上新版本的 Bootstrap 4 的命令,他们在此处观看:

所以我注意到它安装了 bootstrap 4 alpha 6、JQuery3 和 Tether。所以它已经被添加到 .gitignore 上:

并且已经在我的 config/initializers/assets.rb 中设置

我需要穿上我的 application.js

在我的 application.scss

我的问题是有必要将 JQuery 和 Tether 放在 application.js 和 application.scss 上吗?如何?

我正在尝试这个:application.js

应用程序.scss

我没有放*= require jquery/dist/jquery,因为没有这个文件夹像其他 JQuery 一样蒸馏/css。这是用 Yarn 安装的配置吗?

这是我的:tree node_modules

0 投票
0 回答
584 浏览

css - 使用 Bootstrap 4 扩展 .list-unstyled 失败

我使用 Yarn 在 Rails 5.1 上安装 Bootstrap 4.0.0.0 alpha6。我在这里发布我是如何安装的。所以在我的 .SCSS 中,我试图用 bootstrap 4 做一些没有样式的列表。

我有一个错误:

所以如果我穿上我的index.html.slim

无样式列表有效。这里发生了什么?是因为它没有安装 bootstrap-sass gem?我尝试@include list-unstyled;并没有。在我的情况下如何使用它?

0 投票
1 回答
610 浏览

ruby-on-rails - 加快 Rails 5.1 / Webpacker 应用程序的部署

我刚刚将我们的应用程序升级到 Rails 5.1 应用程序并使用 webpacker 来包含 React 和一些自定义组件。这太容易了!谢谢!

我注意到这为 node_modules 目录增加了大约 100 MB。这很酷,我知道这是 NPM 领域附带的,并且该文件夹在新的 rails 项目中默认被 gitignored,因此它不会弄乱 repo。那太棒了!

我希望做得更好的是,现在部署需要很长时间,因为每次部署时服务器都必须从 NPM 下载所有这些包。我们正在使用 capistrano 3 部署到 AWS。是否有一种安全的方法可以将 NPM 包存储在服务器上的某个位置,并在部署中持续存在,这样就不必每次都下载它们?

0 投票
1 回答
170 浏览

hadoop-yarn - 使用 Bootstrap4 生成 simple_form 不起作用

我在 Rails 5.1 上使用 bootstrap4 生成 simple_form,所以我在网上搜索并尝试以下方法:

并且没有一个会生成如下配置的文件:config/initializers/simple_form_bootstrap.rb

我看版本已安装并且是simple_form 1.4.1. 我尝试安装新版本 3.2.1,但运行bundle update命令时出现错误。我有这些错误:

我正在尝试使用新版本 rails 5.1 做一个应用程序。任何人都可以帮助我,我将不胜感激!

0 投票
2 回答
124 浏览

ruby - rails 迁移 4.2.6 到 5.1.0 后出错

我已将我的 Rails 项目之一从 4.2.5 迁移到 5.1.0

我按照本教程进行迁移:https ://hashrocket.com/blog/posts/how-to-upgrade-to-rails-5

在我运行 rails db:migrate 迁移后,我发现了以下错误。

请注意,我的项目中没有使用任何像 SimpleForm 这样的 gem。

我的红宝石版本是:2.4.1

0 投票
4 回答
7390 浏览

ruby-on-rails - 使用 Capistrano 部署 Rails 5.1 / Webpacker 应用程序

我有一个 Ubuntu 服务器来部署我的 Rails 项目。在我的 Ubuntu 服务器中,我有 RVM。

现在我想用 Rails 5.1 和 webpacker 部署新项目。为了部署这个项目,我在我的 Ubuntu 服务器中安装了 NVM、npm 和 yarn。

在我的 Rails 5.1 / Webpacker 项目中,我有以下用于 capistrano 部署的 gem:

宝石文件

在 deploy.rb 中,我为 capistrano nvm 和 capistrano yarn 添加了一些配置。

部署.rb

我还在linked_dirs 中添加了node_modules。

部署.rb

当我在 assets:precompile 步骤中执行 cap deploy 时,问题就来了。接下来你有错误日志。

终端日志

提前致谢!

0 投票
2 回答
644 浏览

ruby-on-rails - Rails 如何从内存中删除路由

在我的应用程序中,我通过 Rails.application.routes.append 命令动态输入路由例如:

我的问题是我不知道如何删除这些路线。我尝试使用 Rails.application.reload_routes!和 Rails.application.routes.clear!命令,但它不起作用。

你有什么想法?或者有没有其他方法可以动态添加和删除路由?

提前感谢您的回复!

0 投票
3 回答
7570 浏览

ruby-on-rails - Rails 5.1 webpacker“导入”一个.js.erb文件?

app/javascript/packs/application.js我试图到import "../foo"文件所在的位置foo.js.erb。Webpacker 和 yarn 对于 application.js 中的其他导入非常有效,例如import "../bar"当该文件是bar.js但如果我尝试使用.js.erb文件时,我会从 webpack-dev-server 收到此错误:

rails webpacker:install我确实安装了 rails-erb-loader 并且如果我查看 webpacker 配置,erb 加载器正在被评估并且看起来对我来说是正确的,尽管除了运行以生成该配置之外我没有触及任何东西。

0 投票
2 回答
55 浏览

ruby-on-rails - 没有路线匹配 [POST] "/additem" 试图创建一个 crud 项目

这是我的路线.rb

这是我的控制器

这是我的 additem.html.erb