我尝试完全验证安装Rails 3.1 pre并部署到heroku.
heroku rake db:migrate失败,已经初始化的常量为RUBy和LN_SUPPORTED,但错误消息表明1.9.2和1.9.1都在运行.
/app/.bundle/gems/ruby/1.9.1/gems/rake-0.9.2/lib/rake/file_utils.rb:10: warning: already initialized constant RUBY
/app/.bundle/gems/ruby/1.9.1/gems/rake-0.9.2/lib/rake/file_utils.rb:84: warning: already initialized constant LN_SUPPORTED
rake aborted!
Invalid DATABASE_URL
(erb):9:in `rescue in <main>'
(erb):6:in `<main>'
/usr/ruby1.9.2/lib/ruby/1.9.1/erb.rb:753:in `eval'
/usr/ruby1.9.2/lib/ruby/1.9.1/erb.rb:753:in `result'
/app/.bundle/gems/ruby/1.9.1/gems/railties-3.1.0.rc4/lib/rails/application/configuration.rb:95:in `database_configuration'
...
...
Run Code Online (Sandbox Code Playgroud)
我的test_app与本地数据库运行良好
我还没有Heroku的工作经验.我刚把文件推到那里.
"sign_in"工作正常,但在路由期间单击"sign_out"链接会锁定(请参阅下面的routes.rb).
不知道从哪里开始.我正在使用RubyMine(IDE)调试器.我点击layout/applications.html.erb中的链接:
<%= link_to('Logout', destroy_user_session_path) %>
Run Code Online (Sandbox Code Playgroud)
RM Debugger监视列表显示:destroy_user_session_path ="/ user/sign_out"
当我以"../devise/sessions_controller.rb#sign_in"中的签名作为用户签名时,当我继续时,一切正常.
状态更改在我的applications.html布局中为我提供了"sign_out"链接,但是当我点击那里时,我遇到了常规错误.我没有在"../application_controller.rb"或"../devise/sessions_controller.rb#sign_out"中获得断点
Demo::Application.routes.draw do
# replace devise_for :users with:
devise_for :users, :controllers => { :registrations => "devise/registrations" }
get "user/show"
get "user/edit"
get "user/index"
get "user/create"
get "user/update"
get "user/new"
resources :users
resources :orders
resources :carts
resources :line_items
resource :store do
member do
get "store/index"
end
end
match ':controller(/:action(/:id(.:format)))'
root to: 'store#index'
end
Run Code Online (Sandbox Code Playgroud)
和耙:路线
new_user_session GET /users/sign_in(.:format) {:action=>"new", :controller=>"devise/sessions"}
user_session POST /users/sign_in(.:format) {:action=>"create", :controller=>"devise/sessions"}
destroy_user_session DELETE /users/sign_out(.:format) {:action=>"destroy", :controller=>"devise/sessions"} …Run Code Online (Sandbox Code Playgroud)