自从升级到Rails 3.1后,我在开发日志中看到了这条警告消息:
警告无法确定响应正文的内容长度.设置响应或集的内容长度
Response#chunked = true
这是什么意思,我该如何删除它?这是个问题吗?
我一直在努力解决这个问题.
我在Snow Leopard机器上安装了Rails 3,gem,mysql.一切顺利,直到我创建了我的第一个项目并试图运行
rails server
Run Code Online (Sandbox Code Playgroud)
运行这个我得到:
jontybrook$ rails server
/Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle: dlopen(/Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle, 9): Library not loaded: libmysqlclient.16.dylib (LoadError)
Referenced from: /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle
Reason: image not found - /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle
from /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2.rb:7
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:64:in `require'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:64:in `require'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:62:in `each'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:62:in `require'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:51:in `each'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:51:in `require'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler.rb:112:in `require'
from /Users/jontybrook/Dropbox/CODING/simple_cms/config/application.rb:7
from /Library/Ruby/Gems/1.8/gems/railties-3.0.3/lib/rails/commands.rb:28:in `require'
from /Library/Ruby/Gems/1.8/gems/railties-3.0.3/lib/rails/commands.rb:28
from /Library/Ruby/Gems/1.8/gems/railties-3.0.3/lib/rails/commands.rb:27:in `tap'
from /Library/Ruby/Gems/1.8/gems/railties-3.0.3/lib/rails/commands.rb:27
from script/rails:6:in `require'
from script/rails:6
jontybrook$
Run Code Online (Sandbox Code Playgroud)
据我所知,问题在于mysql2 gem.MySQL似乎运行正常,我的Gemfile引用了mysql2,我的database.yml文件似乎还可以.
错误提到
Reason: image not found - /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle
Run Code Online (Sandbox Code Playgroud)
但是
jontybrook$ cd …Run Code Online (Sandbox Code Playgroud) 当我使用rails s命令启动rails server时,它正在显示A server is already running. Check C:/Sites/folder/Pids/Server.pids
当我打开文件时,它只输出一个4位数字,那么我怎么能解决这个问题呢?
FYI
cmd.exe显示没有正在运行的其他进程.(使用Windows).似乎理所当然地认为你不能将Webrick用作生产服务器,但我无法真正找到任何提及原因的地方.共识似乎是:"Webrick可以用于开发,但Thin或Unicorn是生产的选择,期限."
我确实查找了瘦服务器的主页,它讨论了请求/秒,但由于没有注释,我不太了解图形.
任何人都可以让我知道为什么我应该使用Thin或Unicorn与Webrick相比?使用Webrick进行开发也有什么好处?我一直在使用Webrick,因为它带有rails,我认为它应该是默认的原因.
顺便说一下,我正在使用Heroku.
我有一个Rails应用程序,我正在我的服务器上运行.当我转到远程桌面并尝试加载应用程序时,服务器需要3-4分钟才能响应一个简单的HTML页面.但是,当我在服务器上本地加载页面时,页面只会显示一秒钟.我尝试从远程桌面ping服务器,ping在合理的时间内成功.
这一切似乎都是在我安装了Oracle的基本客户端和SQLPLUS之后开始的.我应该怀疑甲骨文吗?有没有人经历过类似的事情?
在jekyll serve一台机器上使用后,即可设置WEBrick服务器,并可从localhost:4000该特定PC上访问该站点.
但是,我想知道如何从局域网中的其他机器访问此Web服务器,尤其是移动设备?在将代码推送到Github之前,我正试图在移动设备上测试jekyll网站.
我有一个在localhost:3000上运行的rails应用程序.我希望从同一网络上的另一台计算机访问它.我觉得我以前很轻松地做过这件事,但这给了我一些悲伤.我可以ping通电脑的IP就好了,但是在浏览器中点击ip:3000是行不通的.我也试过发射rails s -b ipaddress,没有运气.
建议?
我最近发现有些人更喜欢使用unicorn_rails默认的WEBrick作为Web服务器来开发Rails应用程序.
我知道如果我想在生产中使用独角兽,那么在开发中尝试它是有道理的,但由于配置在生产中是不同的,它甚至是相关的吗?
使用thin或unicorn代替WEBrick开发Rails应用程序(例如速度或其他一些功能),是否有任何真正的,有形的优势?或者这仅仅是个人偏好的问题?
我是Ruby on Rails的新手,所以当我尝试按照官方的" 入门 "ruby on rails教程时,我有点失望,因为它很快就出错了.基本上它说:
...导航到http:// localhost:3000.您应该看到Rails的默认信息页面.
但是,当我按照说明操作时,我会得到
=> Rails 2.3.4 application starting on http://0.0.0.0:3000
在尝试了两个地址之后,我知道他们指向同一个东西,但有人可以向我解释为什么Ruby on Rails使用http://0.0.0.0:3000而不是http://localhost:3000?
有没有办法让WEBbrick服务器一直使用localhost?
我已经编写了一个小型rails应用程序,通过xmlhttprequests向另一个站点提供内容,这些站点将在另一个域上运行(无法让它们在同一台服务器上运行).我知道我需要在我的rails服务器上设置access-control-allow-origin,以允许请求的网页访问这些资料.
似乎有很好的文档说明如何使用Apache,这可能是我部署网站后将使用的服务器.虽然我正在开发,但我希望只使用webrick,因为我习惯使用rails.有没有办法配置webrick以在rails中提供适当的http标头?