当客户下订单时,我的应用程序崩溃了。
我真的很绝望,因为我需要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) 我在生产中无法访问rails控制台.
我曾经Capistrano将应用程序部署到VPS
如果我cd deploy@myapp:~/myapp/current$并在bundle exec rails c那里运行,我总是得到用于创建新rails项目的选项列表,比如rails new
我也试着bundle exec rails console --production和rails 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) 我正在尝试使用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) 嗨我正在将我的第一个Rails应用程序部署到Ubuntu 16服务器上,Capistrano除了图像没有在生产环境中显示外,一切顺利.
在生产服务器上,映像位于此路径中: /myapp/current/public/assets
但是,如果我在浏览器中看到这个,我的破碎图像链接给了我这个(见图片),这是标题图像的断开链接.
奇怪的是,有一个.svg文件在/myapp/current/public/assets浏览器中完美显示,下图是显示的路径

这是我的 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) 在我的应用程序中,我有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 ×4
capistrano ×2
nginx ×2
activeadmin ×1
gibbon ×1
logging ×1
mailchimp ×1
many-to-many ×1
passenger ×1
production ×1