Tag: 配置

如何从Rails应用程序中完全删除Yarn?

我正在使用jQuery和其他一些库构建一个Rails 5.1.x rails应用程序。 Rails坚持开Yarn,这在开发机器上很好,但我不能在生产中使用它。 有没有办法在没有导轨的情况下默认使用Yarn? 删除yarn.lock和node_modules以及随附的所有其他内容。

允许子域指向计算机的Apache2配置:端口

我拥有域名“peterlee.com.cn”,我在我的域控制面板中添加了一个A Record: RR Destination IP TTL rs.peterlee.com.cn 10.50.10.75 1 hour 我有一个运行于10.50.10.75:9051的RoR(Ruby on Rails)项目,这意味着用户可以通过http://10.50.10.75:9051访问我的RoR应用程序 我想让用户通过http://rs.peterlee.com.cn访问它,所以我添加了以下VirtualHost文件/站点: ServerName rs.peterlee.com.cn DocumentRoot /usr/website/myapp/current/public PassengerEnabled off ProxyPass / http://127.0.0.1:9051/ ProxyPassReverse / http://127.0.0.1:9051/ RackEnv production RailsEnv production RewriteEngine On # Redirect all requests to the maintenance page if present RewriteCond %{REQUEST_URI} !\.(css|gif|jpg|png)$ RewriteCond %{DOCUMENT_ROOT}/system/maintenance.html -f RewriteCond %{SCRIPT_FILENAME} !maintenance.html RewriteRule ^.*$ /system/maintenance.html [L] […]

如何在非root上下文中运行我的Rails应用程序?

我在非特权环境中工作,我的Rails应用程序的根URL是http://foo.com/bar 。 告诉Rails最简单的方法是,例如,我的样式表在/bar/stylesheets ,而不是/stylesheets ,并且make model_url指向/bar/model/baz而不是/model/baz ?

如何从Rspec输出中禁用http日志?

我正在为我的rails应用程序编写测试。 我只想看到’。’ 当rspec运行时,和’*’符号。 但我正在观看HTTP日志,不知道如何禁用它们。 我终端输出的一块rspec: ………….get http://0.0.0.0:3000/device_info/?api_session=%23%7Bapi_session%7D User-Agent: “Faraday v0.8.7” 404 content-type: “text/html” x-cascade: “pass” connection: “close” server: “thin 1.5.1 codename Straight Razor” …..get http://0.0.0.0:3000/device_info/12345?api_session=%23%7Bapi_session%7D User-Agent: “Faraday v0.8.7” 400 .. 我假设原因可能是’法拉第’gem的配置。 如何从我的rspec输出中禁用此日志?

如何在Rails启动时创建线程?

我正在尝试在Rails启动时创建一个线程,该线程将在应用程序的整个生命周期内运行。 奇怪的是,我已经使用了另一个我正在运行的线程。 我复制了那个(工作)代码并将其用作新线程新代码的样板。 但线程不会启动。 代码在config / initializers中(这是正确的位置吗?)。 文件以’z _…’开头命名,以确保它最后运行。 Rails 3.2.6 以下是代码的一般结构: class Blah def self.the_thread The_Model.transaction do # do some database stuff # … end TheThread = Thread.new do while true do the_thread sleep 5.seconds end end end 打开一个rails控制台并检查Blah :: TheThread会显示一个似乎没有运行的死线程。 在类的声明中,或者在方法中似乎没有任何错误,因为我可以在打开rails控制台时运行该方法并且它工作得很好。 另外,如果我手动输入rails控制台上面产生线程的确切代码(TheThread = Thread new do …),它就可以正常工作(每隔5秒唤醒一次,做它的事情,再次睡觉)。 同样,奇怪的是,在这个完全相同的应用程序中,这个用于在Rails中生成一个简单线程的精确模板曾经为我工作过。 如果有人对我认为是一个奇怪的问题有一些可能的见解,我会全力以赴。 谢谢。 编辑:新信息 – 我只是注释掉了事务调用(和匹配结束),它工作正常。 […]

Rails动态错误页面(404,422,500)显示为空白

我正在将动态错误页面实现到应用程序中,并且感觉它正在public文件夹中查找(现在不存在的)模板,而不是遵循我设置的路由。 在config/application.rb我添加了一行config.exceptions_app = self.routes来解释这一点。 我已经将以下内容添加到我的路线中: get “/not-found”, :to => “errors#not_found” get “/unacceptable”, :to => “errors#unacceptable” get “/internal-error”, :to => “errors#internal_error” 而错误控制器看起来像这样: class ErrorsController 404 end def unacceptable render :status => 422 end def internal_error render :status => 500 end end 转到/not-found显示模板应该是,但访问任何不存在的URL(即/ i-dont-exist)呈现空页面。 我能看到的唯一原因是exception处理需要路由,例如, get “/404”, :to => “errors#not_found” ,但具有讽刺意味的是,它没有找到/的路由404(不,这不仅仅是它的工作:))。 任何建议,非常感谢。 谢谢,史蒂夫。

如何管理共享代码和配置的多个Rails应用程序和服务?

我有四个Rails应用程序(还有更多)。 他们分享: 样式表 JavaScript的 第三方gem 一些相同的ActiveRecord模型 我们自己的ruby图书馆 配置/环境变量 我还有一堆与上面的Rails应用程序交互的rabbitmq服务。 我正在试图找出如何理智地控制所有这些东西。 现在,我在一个巨大的git存储库中拥有所有内容,结构如下: /网站/ rails1 /网站/ rails2 /网站/ Rails3中 /服务/服务1 /服务/服务2 /服务/服务2 / lib目录/ our_code / lib目录/ common_js / lib目录/ common_css /配置/ common_configuration_files 这是一种理智的方式吗? 如果我要将所有内容都分解为他们自己的git项目,那么每次更新共享gem / library / css文件(使用gems / bundler或其他)时,似乎很难单独更新每个项目。 在一个项目中拥有所有内容的不幸之处在于我无法在Heroku上轻松放置一个应用程序或服务。 可以在这里使用git子树合并帮助吗? 也许每个站点/服务都是自己的分支?

schedule.rb中的配置文件与Rails每当gem?

我的rails应用程序的/ config文件夹中有一个名为config.yml的文件。 我还有一个初始化器:config / initializers / load_config.rb,代码如下: APP_CONFIG = YAML.load_file(“#{RAILS_ROOT}/config/config.yml”) 我正在使用Whenever gem设置一个cron作业,并希望使用我的APP_CONFIG来调用这样的函数: #inside schedule.rb every 2.hours do runner “MyModel.someMethod(‘#{APP_CONFIG[‘some_value’]}’)” end 但是当我打电话时,每当gem似乎没有识别配置文件 whenever –update-crontab mysite 如何将我的配置中的值合并到schedule.rb文件中(而不是对值进行硬编码)? 谢谢!

在Rails应用程序中存储全局应用程序设置的最佳方法是什么?

我想处理两种全局配置设置: 用户可以更改的设置,例如是否发送某些事件的通知邮件。 与特定产品版本相关联的设置,例如禁用免费版本中的function,该function仅在商业版本中可用。 存储这些设置的最佳方法是什么? 数据库,配置文件,在源代码中硬编码,……?

忽略rails项目中的.gitignore config / database.yml

当我在rails项目上工作时(顺便说一下,我还处于“初学者”阶段的学习阶段),文件config / database.yml似乎就像数据库密码等那样。 但是,似乎没有人建议将它放在.gitignore文件中 – 为什么? 当然,如果我推送到github,我需要排除这个或我的敏感数据库配置细节最终会成为公共知识。