小编Dau*_*ell的帖子

Rails 4 应用程序未写入 production.log,在 Nginx、ubuntu 上运行并通过 capistrano 部署

当客户下订单时,我的应用程序崩溃了。

我真的很绝望,因为我需要production.log弄清楚是什么破坏了应用程序!!

我登录了 :~/mystore/current/log$ nano production.log

而且似乎production.log自 2017 年 23 月 5 日以来就没有更新过。

这是最后几行 production.log

 I, [2017-05-23T11:12:35.067624 #1060]  INFO -- : Completed 404 Not Found in 27ms (ActiveRecord: 3.0ms)
F, [2017-05-23T11:12:35.069957 #1060] FATAL -- :
ActiveRecord::RecordNotFound (Couldn't find Label with 'id'=10):
  app/controllers/labels_controller.rb:21:in `set_label'
Run Code Online (Sandbox Code Playgroud)

现在我不明白为什么我的应用程序今天崩溃了。这很奇怪,因为我总是能够通过production.log

这是里面的设置 production.rb

  config.log_level = :info

 config.logger = ActiveSupport::Logger.new('/tmp/foo.log') 
 config.logger.info "SMTP_ADDR: #{ENV["SMTP_ADDRESS"].inspect}"
 config.log_formatter = ::Logger::Formatter.new
Run Code Online (Sandbox Code Playgroud)

deploy.rbI'm sim-linking中,不知道是否与此有关。

set :linked_files, %w{config/database.yml config/secrets.yml config/application.yml}
set :linked_dirs, %w{log tmp/pids tmp/cache tmp/sockets vendor/bundle public/system} …
Run Code Online (Sandbox Code Playgroud)

ruby logging production ruby-on-rails nginx

5
推荐指数
0
解决办法
563
查看次数

部署到服务器后访问Rails控制台

我在生产中无法访问rails控制台.

我曾经Capistrano将应用程序部署到VPS

如果我cd deploy@myapp:~/myapp/current$并在bundle exec rails c那里运行,我总是得到用于创建新rails项目的选项列表,比如rails new

我也试着bundle exec rails console --productionrails console等等都具有相同的结果.

问题是我必须能够访问控制台,因为我必须创建一个管理员用户 active admin

可能值得补充一点,我在Ubuntu 16上使用Passenger/Capistrano和Nginx

有谁知道这里发生了什么?难道我做错了什么?

*编辑

跑完后RAILS_ENV=production bundle exec rails c我收到这条消息

 Looks like your app's ./bin/rails is a stub that was generated by Bundler.

 In Rails 4, your app's bin/ directory contains executables that are  versioned
 like any other source code, rather than stubs that are generated on demand.

  Here's how to upgrade: …
Run Code Online (Sandbox Code Playgroud)

ruby capistrano ruby-on-rails rails-console

3
推荐指数
1
解决办法
1819
查看次数

未初始化的常量Gibbon :: Request(NameError)

我正在尝试使用Gibbon和Mailchimp进行基本邮件列表设置.

当我启动我的rails服务器时,我经常遇到这个错误 rails s

我甚至降级到了版本 gem 'gibbon', '~>1.2.0'

但我的日志仍然是这样的

 /Users/dadi/Documents/Vefir/stores/brainstore/config/initializers/gibbon.rb:2:in `<top (required)>': uninitialized constant Gibbon::Request (NameError)
from /Users/dadi/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.5/lib/rails/engine.rb:652:in `block in load_config_initializer'
from /Users/dadi/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activesupport-4.2.5/lib/active_support/notifications.rb:166:in `instrument'
from /Users/dadi/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.5/lib/rails/engine.rb:651:in `load_config_initializer'
from /Users/dadi/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.5/lib/rails/engine.rb:616:in `block (2 levels) in <class:Engine>'
from /Users/dadi/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.5/lib/rails/engine.rb:615:in `each'
from /Users/dadi/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.5/lib/rails/engine.rb:615:in `block in <class:Engine>'
from /Users/dadi/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.5/lib/rails/initializable.rb:30:in `instance_exec'
from /Users/dadi/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.5/lib/rails/initializable.rb:30:in `run'
from /Users/dadi/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.5/lib/rails/initializable.rb:55:in `block in run_initializers'
from /Users/dadi/.rbenv/versions/2.2.3/lib/ruby/2.2.0/tsort.rb:226:in `block in tsort_each'
from /Users/dadi/.rbenv/versions/2.2.3/lib/ruby/2.2.0/tsort.rb:348:in `block (2 levels) in each_strongly_connected_component'
from /Users/dadi/.rbenv/versions/2.2.3/lib/ruby/2.2.0/tsort.rb:420:in `block (2 levels) in each_strongly_connected_component_from'
from /Users/dadi/.rbenv/versions/2.2.3/lib/ruby/2.2.0/tsort.rb:429:in `each_strongly_connected_component_from'
from /Users/dadi/.rbenv/versions/2.2.3/lib/ruby/2.2.0/tsort.rb:419:in `block in each_strongly_connected_component_from' …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails mailchimp gibbon

1
推荐指数
1
解决办法
964
查看次数

使用Passenger/Capistrano部署到Nginx服务器后未显示的图像

嗨我正在将我的第一个Rails应用程序部署到Ubuntu 16服务器上,Capistrano除了图像没有在生产环境中显示外,一切顺利.

在生产服务器上,映像位于此路径中: /myapp/current/public/assets

但是,如果我在浏览器中看到这个,我的破碎图像链接给了我这个(见图片),这是标题图像的断开链接.

破碎的图像

奇怪的是,有一个.svg文件在/myapp/current/public/assets浏览器中完美显示,下图是显示的路径 svg文件

这是我的 Capfile

# Load DSL and set up stages
 require "capistrano/setup"

# Include default deployment tasks
require "capistrano/deploy"


set :rbenv_type, :user # or :system, depends on your rbenv setup
set :rbenv_ruby, '2.3.1'


require 'capistrano/rbenv'

require 'capistrano/bundler'
require 'capistrano/rails'


# Load custom tasks from `lib/capistrano/tasks` if you have any defined
Dir.glob("lib/capistrano/tasks/*.rake").each { |r| import r }
Run Code Online (Sandbox Code Playgroud)

这是 config/deploy.rb

# config valid only for current version of Capistrano
lock '3.6.1' …
Run Code Online (Sandbox Code Playgroud)

capistrano ruby-on-rails passenger nginx asset-pipeline

1
推荐指数
1
解决办法
774
查看次数

Active Admin未正确显示标签名称

在我的应用程序中,我有categories,labels 他们都属于products

在管理面板中,用户可以添加产品,创建标签和类别,然后为产品分配类别和标签.

当我创建标签时,名称在标签面板中正确显示(见照片)

在此输入图像描述

问题是标签名称在分配给产品时没有正确显示(见下图),但显示了类别名称.这很奇怪,因为两列都具有相同的设置.

Admin products panel标签上显示数字Label#1``Label#2等(见下图)

_navbar.html.erb我有这个代码显示类别和标签...并在那里正确显示.

                <ul class="dropdown-menu" role="menu">
                    <% @categories.each do |category| %>
                        <li><%= link_to category.name, category %></li>
                    <% end %>         
                </ul>
            </li>       
              <li class="dropdown full-width">
                <a href="#" class="dropdown-toggle" 
                data-toggle="dropdown">
                    Labels
                </a>
                <ul class="dropdown-menu" role="menu">
                   <% @labels.each do |label| %>
                        <li><%= link_to label.label_name, label %></li>
                    <% end %>    
                </ul>
            </li>       
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么吗?我看不出为什么标签显示不正确.

有没有人与活动管理员有相同或类似的问题?

谁能看看这个?

提前致谢

在此输入图像描述

在此输入图像描述

在此输入图像描述

这是 app/admin/category.rb

ActiveAdmin.register Category do

 permit_params :name

end
Run Code Online (Sandbox Code Playgroud)

app/admin/label.rb这里有代码:

ActiveAdmin.register …
Run Code Online (Sandbox Code Playgroud)

ruby many-to-many ruby-on-rails activeadmin

1
推荐指数
1
解决办法
687
查看次数