问题标签 [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 - 更新两个 Active Record 回调中的记录
好吧,偶然发现了这个奇怪的东西。我的用户模型中有这个。
(出于说明目的简化了代码)
当我创建我的用户并在控制台中检查它时,我得到role: 1, customer_id: nil
. 但是!,如果我从第一个回调中删除保存一切正常。
产生role: 1, customer_id: "hello"
. 所以似乎它只读取.save
回调中的第一个。我想了解确切的行为是什么以及为什么。我花了很多时间试图查明这一点,并且不想再次偶然发现类似的东西。
编辑:
也许这很有帮助。当我使用 self.save 时!在subscribe_to_basic_plan
我得到一个错误,记录根本没有保存。放入assign_roleself.save!
不会改变任何东西,所以问题肯定出在第二个.save
.
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
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;
并没有。在我的情况下如何使用它?
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 包存储在服务器上的某个位置,并在部署中持续存在,这样就不必每次都下载它们?
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 做一个应用程序。任何人都可以帮助我,我将不胜感激!
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
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 时,问题就来了。接下来你有错误日志。
终端日志
提前致谢!
ruby-on-rails - Rails 如何从内存中删除路由
在我的应用程序中,我通过 Rails.application.routes.append 命令动态输入路由例如:
我的问题是我不知道如何删除这些路线。我尝试使用 Rails.application.reload_routes!和 Rails.application.routes.clear!命令,但它不起作用。
你有什么想法?或者有没有其他方法可以动态添加和删除路由?
提前感谢您的回复!
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 加载器正在被评估并且看起来对我来说是正确的,尽管除了运行以生成该配置之外我没有触及任何东西。
ruby-on-rails - 没有路线匹配 [POST] "/additem" 试图创建一个 crud 项目
这是我的路线.rb
这是我的控制器
这是我的 additem.html.erb