Tôi đã cố gắng để có được RoR làm việc với Hành khách và Nginx. Con người đã là một cuộc phiêu lưu. Tôi cuối cùng đã nhận được máy chủ đang chạy và nó đang lưu trữ một trang web thử nghiệm, cũng loại. Tôi đang gặp lỗi với nội dung. Tôi không thể biên dịch ứng dụng.js bằng cách sử dụng bundle exec rake assets:precompile
. Dưới đây là các kết quả với --trace:tài sản bó exec rake: biên dịch trước
$ bundle exec rake assets:precompile --trace
** Invoke assets:precompile (first_time)
** Execute assets:precompile
/Users/pstachof/.rvm/rubies/ruby-1.9.3-head/bin/ruby /Users/pstachof/.rvm/gems/[email protected]/bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets --trace
** Invoke assets:precompile:all (first_time)
** Execute assets:precompile:all
** Invoke assets:precompile:primary (first_time)
** Invoke assets:environment (first_time)
** Execute assets:environment
** Invoke environment (first_time)
** Execute environment
** Invoke tmp:cache:clear (first_time)
** Execute tmp:cache:clear
** Execute assets:precompile:primary
rake aborted!
TypeError: 'undefined' is not a function (evaluating 'define.globalDomain.require.bind(define.globalDomain)')
(in /Users/pstachof/.webserver/sites/stachtest1/app/assets/javascripts/application.js)
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/execjs-1.4.0/lib/execjs/external_runtime.rb:68:in `extract_result'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/execjs-1.4.0/lib/execjs/external_runtime.rb:28:in `block in exec'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/execjs-1.4.0/lib/execjs/external_runtime.rb:41:in `compile_to_tempfile'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/execjs-1.4.0/lib/execjs/external_runtime.rb:27:in `exec'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/uglifier-2.0.1/lib/uglifier.rb:167:in `really_compile'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/uglifier-2.0.1/lib/uglifier.rb:95:in `compile'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/actionpack-3.2.13/lib/sprockets/compressors.rb:74:in `compress'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/processing.rb:265:in `block in js_compressor='
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/processor.rb:29:in `call'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/processor.rb:29:in `evaluate'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/tilt-1.3.7/lib/tilt/template.rb:77:in `render'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/context.rb:193:in `block in evaluate'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/context.rb:190:in `each'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/context.rb:190:in `evaluate'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/bundled_asset.rb:26:in `initialize'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/base.rb:252:in `new'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/base.rb:252:in `build_asset'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/index.rb:93:in `block in build_asset'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/caching.rb:19:in `cache_asset'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/index.rb:92:in `build_asset'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/base.rb:169:in `find_asset'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/index.rb:60:in `find_asset'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/actionpack-3.2.13/lib/sprockets/static_compiler.rb:19:in `block in compile'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/base.rb:219:in `block in each_logical_path'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/base.rb:206:in `block (2 levels) in each_file'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/base.rb:196:in `each'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/base.rb:196:in `each_entry'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/base.rb:204:in `block in each_file'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/base.rb:203:in `each'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/base.rb:203:in `each_file'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/base.rb:217:in `each_logical_path'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/actionpack-3.2.13/lib/sprockets/static_compiler.rb:18:in `compile'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/actionpack-3.2.13/lib/sprockets/assets.rake:56:in `internal_precompile'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/actionpack-3.2.13/lib/sprockets/assets.rake:70:in `block (3 levels) in <top (required)>'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/task.rb:246:in `call'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/task.rb:246:in `block in execute'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/task.rb:241:in `each'
/Users/pstachof/.rvm/gems/[email protected]al/gems/rake-10.0.4/lib/rake/task.rb:241:in `execute'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/task.rb:184:in `block in invoke_with_call_chain'
/Users/pstachof/.rvm/rubies/ruby-1.9.3-head/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/task.rb:177:in `invoke_with_call_chain'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/task.rb:170:in `invoke'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/actionpack-3.2.13/lib/sprockets/assets.rake:60:in `block (3 levels) in <top (required)>'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/task.rb:246:in `call'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/task.rb:246:in `block in execute'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/task.rb:241:in `each'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/task.rb:241:in `execute'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/task.rb:184:in `block in invoke_with_call_chain'
/Users/pstachof/.rvm/rubies/ruby-1.9.3-head/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/task.rb:177:in `invoke_with_call_chain'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/task.rb:170:in `invoke'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/application.rb:143:in `invoke_task'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/application.rb:101:in `block (2 levels) in top_level'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/application.rb:101:in `each'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/application.rb:101:in `block in top_level'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/application.rb:110:in `run_with_threads'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/application.rb:95:in `top_level'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/application.rb:73:in `block in run'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/application.rb:160:in `standard_exception_handling'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/application.rb:70:in `run'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/bin/rake:33:in `<top (required)>'
/Users/pstachof/.rvm/gems/[email protected]/bin/rake:23:in `load'
/Users/pstachof/.rvm/gems/[email protected]/bin/rake:23:in `<main>'
Tasks: TOP => assets:precompile:primary
rake aborted!
Command failed with status (1): [/Users/pstachof/.rvm/rubies/ruby-1.9.3-hea...]
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/file_utils.rb:53:in `block in create_shell_runner'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/file_utils.rb:45:in `call'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/file_utils.rb:45:in `sh'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/file_utils_ext.rb:37:in `sh'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/file_utils.rb:80:in `ruby'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/file_utils_ext.rb:37:in `ruby'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/actionpack-3.2.13/lib/sprockets/assets.rake:12:in `ruby_rake_task'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/actionpack-3.2.13/lib/sprockets/assets.rake:21:in `invoke_or_reboot_rake_task'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/actionpack-3.2.13/lib/sprockets/assets.rake:29:in `block (2 levels) in <top (required)>'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/task.rb:246:in `call'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/task.rb:246:in `block in execute'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/task.rb:241:in `each'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/task.rb:241:in `execute'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/task.rb:184:in `block in invoke_with_call_chain'
/Users/pstachof/.rvm/rubies/ruby-1.9.3-head/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/task.rb:177:in `invoke_with_call_chain'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/task.rb:170:in `invoke'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/application.rb:143:in `invoke_task'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/application.rb:101:in `block (2 levels) in top_level'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/application.rb:101:in `each'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/application.rb:101:in `block in top_level'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/application.rb:110:in `run_with_threads'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/application.rb:95:in `top_level'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/application.rb:73:in `block in run'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/application.rb:160:in `standard_exception_handling'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/application.rb:70:in `run'
/Users/pstachof/.rvm/gems/[email protected]/gems/rake-10.0.4/bin/rake:33:in `<top (required)>'
/Users/pstachof/.rvm/gems/[email protected]/bin/rake:23:in `load'
/Users/pstachof/.rvm/gems/[email protected]/bin/rake:23:in `<main>'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/bin/ruby_noexec_wrapper:14:in `eval'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/bin/ruby_noexec_wrapper:14:in `<main>'
Tasks: TOP => assets:precompile
Nếu tôi đặt config.assets.compile = true
trong config/environments/production.rb
và khởi động lại máy chủ tải lại trang web tôi nhận được sau trong production.log
Connecting to database specified by database.yml
Started GET "/" for 98.156.89.130 at 2013-04-23 22:45:35 -0500
Processing by HomeController#welcome as HTML
Rendered home/welcome.html.erb within layouts/application (10.7ms)
Completed 500 Internal Server Error in 77ms
ActionView::Template::Error (application.js isn't precompiled):
3: <head>
4: <title>Stachtest1</title>
5: <%= stylesheet_link_tag "application", :media => "all" %>
6: <%= javascript_include_tag "application" %>
7: <%= csrf_meta_tags %>
8: </head>
9: <body>
app/views/layouts/application.html.erb:6:in `_app_views_layouts_application_html_erb__451492169_16346550'
Nếu tôi loại bỏ các ứng dụng .js tập tin (trong đó tôi đã không sửa đổi ở tất cả) từ thư mục tài sản/javascript và biên dịch mọi thứ diễn ra suôn sẻ. Tôi cũng đã cố gắng biên dịch với các tập tin trong thư mục assests/javascript nhưng loại bỏ tất cả các văn bản và nó vẫn thất bại.
Tôi đang sử dụng đường ray 3.2.13, ruby 1.9.3 và các viên ngọc sau đây được cài đặt cục bộ
*** LOCAL GEMS ***
actionmailer (3.2.13)
actionpack (3.2.13)
activemodel (3.2.13)
activerecord (3.2.13)
activeresource (3.2.13)
activesupport (3.2.13)
arel (3.0.2)
bigdecimal (1.1.0)
builder (3.0.4)
bundler (1.3.5)
coffee-rails (3.2.2)
coffee-script (2.2.0)
coffee-script-source (1.6.2)
daemon_controller (1.1.2)
erubis (2.7.0)
execjs (1.4.0)
fastthread (1.0.7)
hike (1.2.2)
i18n (0.6.1)
io-console (0.3)
journey (1.0.4)
jquery-rails (2.2.1)
json (1.7.7, 1.5.5)
mail (2.5.3)
mime-types (1.23)
minitest (2.5.1)
multi_json (1.7.2)
passenger (3.0.19)
polyglot (0.3.3)
rack (1.4.5)
rack-cache (1.2)
rack-ssl (1.3.3)
rack-test (0.6.2)
rails (3.2.13)
railties (3.2.13)
rake (10.0.4, 0.9.2.2)
rdoc (3.12.2, 3.9.5)
rubygems-bundler (1.1.1)
rvm (1.11.3.7)
sass (3.2.8)
sass-rails (3.2.6)
sprockets (2.2.2)
sqlite3 (1.3.7)
thor (0.18.1)
tilt (1.3.7)
treetop (1.4.12)
tzinfo (0.3.37)
uglifier (2.0.1)
Dưới đây là application.js nộp
// This is a manifest file that'll be compiled into application.js, which will include all the files
// listed below.
//
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
//
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
// the compiled file.
//
// WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
// GO AFTER THE REQUIRES BELOW.
//
//= require jquery
//= require jquery_ujs
//= require_tree
Như tôi tiếp tục chơi xung quanh với thiết lập này, tôi đã thấy rằng mặc dù nó biên dịch các tài sản không có tệp tin application.js trong thư mục assets/javascript và nó xuất hiện css được biên dịch chính xác mà nó không hiển thị trên trang web sau khi làm mới máy chủ và trang web. Nếu tôi đặt phong cách trực tiếp vào trang web, nó sẽ hiển thị như mong muốn.
Dưới đây là các tập tin liên quan: application.html.erb
<!DOCTYPE html>
<html>
<head>
<title>Stachtest1</title>
<%= stylesheet_link_tag "application", :media => "all" %>
<%= csrf_meta_tags %>
</head>
<body>
<div id="content">
Does this work...
</div>
<%= yield %>
<div style="border: 1px solid #000;">
This is a test to see about some styles
</div>
</body>
</html>
tài sản/stylesheets/application.css
.content
{
border: 1px solid #999;
padding: 5px;
}
công cộng/application.css
.content{border:1px solid #999;padding:5px}
tôi không chắc chắn nếu đây là một câu hỏi riêng biệt hay không, nếu vậy tôi có thể kéo nó ra nhưng muốn thêm nó chỉ trong trường hợp.
Tôi sắp đạt đến cuối ý tưởng của mình. Bất kỳ ý tưởng hoặc đề xuất sẽ được đánh giá cao. Nếu tôi thiếu thông tin, xin vui lòng cho tôi biết và tôi có thể điền vào những khoảng trống tốt nhất có thể.
Cảm ơn bạn, Patrick
Chia sẻ tệp ứng dụng.js của bạn. –
Tôi đã bao gồm nội dung của tệp application.js. – Patrick
thử chạy với config.assets.precompile + = ['application.js'] trong config/environment/production.rb –