问题标签 [ruby-on-rails-7]
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 - 如何解决 NoMethodError:未定义的方法“glob?” 对于 nil:Rails 7 中的 NilClass
我正在使用ruby 3.1.0p0
和Rails 7.0.1
。我最近从Rails 6.1
和升级ruby 2.7
。
当我在本地托管网站时,我没有遇到任何问题。但是,当我将站点部署到Ubuntu 20.04
服务器时nginx v1.18.0
,站点无法加载,并且出现以下错误:
它出现在 [GEM_ROOT]/gems/actionpack-7.0.1/lib/action_dispatch/journey/route.rb:138:in `glob?' 的第 138 行
有没有人遇到过这样的情况?这似乎真的很奇怪,我不知道我需要做什么来解决它。
编辑:
我决定在本地测试登台和生产。如果我做
RAILS_ENV=staging bin/rails s
或者
RAILS_ENV=production bin/rails s
我的本地机器上也发生了同样的错误。所以有些事情只会在它不在开发环境中运行时发生。
完整的堆栈跟踪是:
ruby-on-rails - Rails 7 - 在开发中自动拾取资产不起作用
application.js
由于某种未知原因,当我在浏览器中按 F5 时,Rails 7(开发环境)不会自动获取更改。位置application.js
是默认的。我正在使用几乎所有的默认设置。
当我运行服务器时,它会从某个缓存版本中获取 javascript。我需要明确rails assets:recompile
地让它工作。
Importmap 看起来很标准:
布局文件似乎也很标准:
我试图config.importmap.sweep_cache = true
在我的development.rb
(根据 importmap 文档)中设置,但似乎没有效果。
在这一点上,我非常绝望,无法理解为什么我需要rails assets:precompile
在我的开发环境中。
此外,我没有在“localhost”域上运行我的应用程序,它位于类似dev.server-somewhere.com
(因此可以从任何地方访问)的 SSH 重定向上,类似于 ngrok。不确定这是否是问题的原因。
澄清一下:我正在寻找没有实时刷新功能,只需使用 F5 页面刷新的标准方法即可。
ruby-on-rails - Rails 7/Production - 您是否尝试打开与非 SSL Puma 的 SSL 连接?
我在 Rails v7.0.1 的生产模式下不断收到此错误,HTTP parse error, malformed request: #<Puma::HttpParserError: Invalid HTTP format, parsing fails. Are you trying to open an SSL connection to a non-SSL Puma?
我不知道为什么。我尝试了其他解决方案的所有内容,这些解决方案主要与本地环境相关,但我一直在生产中得到它。
我已经设置config.force_ssl
为true
.
Nginx 会议
以前这个设置对我有用。请帮忙,我现在要疯了。
宝石文件
ruby-on-rails - 如何在 Rails ActionMailbox 中处理转发的电子邮件?
我们正在使用 Rails 7 构建一个应用程序,除其他功能外,该应用程序应在电子邮件发送到其电子邮件地址之一(例如,格式ticket-{uuid}@ourdomain.com
)时执行一些操作。
Rails 的 ActionMailbox 路由适用于直接电子邮件。但是,在转发电子邮件时,ActionMailbox 根本无法识别它们。
我们如何确保使用 ActionMailbox 也能正确处理和路由转发的电子邮件?
编辑:我们正在使用的代码的简化版本:
ruby-on-rails - Rails 7 css 资产无法在生产中运行,需要帮助了解资产管道在没有 webpacker 的情况下如何工作
尝试使用顺风和 postcss 的 rails 7。
我在 assets/stylesheets 中有一些样式表,我通过同一文件夹中的 imports.css 文件导入这些样式表。
然后我在 application.html.erb 中导入该文件,其中包含以下内容:
在开发过程中,一切都按预期运行良好,与顺风相得益彰。由于 postcss,导入工作正常。但是在生产(nginx,puma)中,它试图拉入这些文件并失败。对于我拥有的每个样式表,我在浏览器控制台中看到:
获取https://mywebsite.com/assets/style/stylesheet1.css net::ERR_ABORTED 404(未找到)
我正在尝试将我的大脑从 rails 6 中的 webpacker 转移,不确定我需要在这里做什么......一些想法:
我是否需要设置它以便将样式表复制到 public/assets 文件夹或其他东西?在production.rb中有设置吗?(我觉得默认情况下rails应该已经这样做了)
我是否需要在部署时手动预编译这些资产?
帮助将不胜感激。谢谢!
tailwind-css - 当我尝试在我的页面中输入数据并单击提交时,没有显示方法错误问题
用户控制器
类 UserController < ApplicationController def edit @user = current_user end
结尾
私人的
def update_params # params.require(:user).permit(:zipcode) params.require(:user).permit(:organization_name, :zipcode) end end
routes.rb 资源:用户,仅:%i[编辑]
edit.html.erb 中的 Simpleform <%= simple_form_for(@user, html: {'data-turbo': false}, as: current_user) do |f| %>
ruby-on-rails - 在 docker 映像中运行 yarn build:css 时,我的目标文件夹为空
这是我的 Dockerfile
在我的 package.json 我有以下
}
当我运行docker-compose build
正常但命令RUN yarn build:css
无效时,builds
文件夹为空。
javascript - Bootstrap 5 Javascript 函数在 Rails 7 应用程序中不起作用
我正在尝试设置我的第一个 Rails 7 应用程序并正确安装了 Bootstrap 5(您可以通过 CSS 看到)并消除了所有错误消息,但是 javascript 函数(即下拉菜单、offcanvas 等)是不工作。
我已经使用以下代码对其进行了测试:
并且两个 console.log 语句都产生了正确的结果,让我相信 js 和 jquery 工作正常,并且它与引导程序有关。
这是我的宝石文件:
这是我的application.js
,位于 'javascript/controllers/application.js but somehow also in
assets/builds/application.js . I'm not using webpack, rather rollup installed with
$ ./bin/rails javascript:install:rollup` 中:
谁能看到我哪里出错了?
ruby-on-rails - sassc-rails:为什么 math.div(...) 不起作用?
我只是想用 Rails 7 创建一个新的 rails 应用程序。我的 Gem 文件中有 sassc-rails,似乎它正在尝试编译各种 .scss 文件(我有自己的小 scss 库,我正在尝试重用)。然而,它的挣扎如下:
SCSS:
错误信息:
我在 Rails 6 应用程序中使用了完全相同的代码,并且在那里正确编译了所有内容,所以 scss 代码本身应该是有效的吗?