Tag: railstutorial.org

如何在部署到heroku时解决rails中的更新捆绑器警告?

如何解决以下警告? 我将我的ruby版本更新为2.3.1并将版本更新为4.2.6。 当我将我的应用程序推送到heroku时,我收到此警告。 remote: Cleaning up the bundler cache. remote: Warning: the running version of Bundler is older than the version that created the lockfile. We suggest you upgrade to the latest version of Bundler by running `gem install bundler`. remote: Removing mime-types-data (3.2016.0221) 我删除了Gemfile.lock并运行了bundle install,并尝试更新捆绑包,但警告永远不会消失。 suramai@rails-tutorial:~/workspace/converse (master) $ gem install bundler Successfully installed bundler-1.12.4 […]

$ bundle exec rake db:reset命令raise不能删除db / development.sqlite3

我试图运行$ bundle exec rake db:reset并在控制台上找到以下内容 Couldn’t drop db/development.sqlite3 : # db/development.sqlite3 already exists — create_table(“users”, {:force=>true}) -> 0.3940s — add_index(“users”, [“email”], {:name=>”index_users_on_email”, :unique=>true}) -> 0.1280s — initialize_schema_migrations_table() -> 0.0010s — assume_migrated_upto_version(20120419034627, [“c:/sample_app/db/migrate “]) -> 0.0040s 我该如何解决? 编辑我正在关注一个教程,它告诉我运行上面的命令来安全地删除数据库中的所有数据。 我也在使用管理员帐户。

为什么我的RSpec测试失败,但我的应用程序正在运行?

我刚刚完成了Ruby on Rails教程的第10章 ,添加了编辑/更新,索引和销毁用户的function。 一切似乎都在我的应用程序中正常工作,但是当我运行RSpec时,我的许多测试都失败了。 我设置的users_controller_spec与书的设置完全一样,我的应用程序代码也是一样的。 一个问题可能是我使用Rails 3.1.1而不是他在书中使用的Rails 3.0? 它对于以前的测试来说并不是一个问题,只是偶尔会出现几行不同的代码。 在我开始第10.2.1节后 ,问题开始出现。 以下是我看到的错误列表,如果您需要更多信息,请告诉我。 谢谢! 1) UsersController GET ‘index’ for signed-in users should be successful Failure/Error: response.should be_success expected success? to return true, got false # ./spec/controllers/users_controller_spec.rb:31:in `block (4 levels) in ‘ 2) UsersController GET ‘index’ for signed-in users should have the right title Failure/Error: response.should […]

失败:在轨道上的ruby上预期0> = 1

我正在做Hartle教程并且每次运行rake测试时看到这个失败我看到这个失败: 1) Failure: StaticPagesControllerTest#test_should_get_help […/sample_app/test/controllers/static_pages_controller_test.rb:14]: expected but was .. Expected 0 to be >= 1. 这是什么意思? 我该如何解决? 这是我的static_pages_controller_test.rb文件。 require ‘test_helper’ class StaticPagesControllerTest < ActionController::TestCase test "should get home" do get :home assert_response :success assert_select "title", "Ruby on Rails Tutorial Sample App" end test "should get help" do get :help assert_response :success assert_select "title", "Help | […]

关闭浏览器时会话未被破坏 – RailsTutorial.org

通过Michael Hartl的railstutorial.org,我在第8章(特别是8.2.3)。 当前的问题是实现一个会话以保持用户在多个视图中登录,但本节中实现的function应该是一个临时会话,当浏览器窗口关闭时该会话过期(将用户注销)。 以下是教科书中的陈述,表明: 如果您完全退出浏览器,您还应该能够validation应用程序是否忘记了您的登录状态,要求您再次登录以查看上述更改。 我已在Google Chrome和Firefox上测试了此function – 我成功登录,导航到多个页面(以确保我的会话持续超出log_in重定向)然后关闭浏览器 – 但是当我重新加载Web应用程序时,我仍然登录。我已经完全按照文本中的内容复制了所有代码,但无济于事。 作为参考,这是我的sessions_helper.rb文件: module SessionsHelper # Logs in the given user. def log_in(user) session[:user_id] = user.id end # Returns the current logged-in user (if any). def current_user @current_user ||= User.find_by(id: session[:user_id]) end # Returns true if the user is logged in, false otherwise. def logged_in? !current_user.nil? […]

Hartl的导轨教程在当地完成了作品。 Heroku坚持“我们很抱歉,但出了点问题。”

我是Ruby on Rails的新手(完全是编程新手),这是我关于堆栈溢出的第一篇文章。 我想提前感谢所有人,因为我从之前的post中学到了很多东西。 我完成了Micheal Hartl Ruby on Rails教程但是无法在Heroku上成功启动它,即使它在本地完美运行。 我做了以下事情: git push git push heroku master heroku pg:重置数据库 heroku运行rake db:migrate heroku运行rake db:填充 (我也做了这个没有heroku重启同样的结果) 当我执行命令时出现问题:heroku run rake db:populate 这是我的heroku日志 2013-04-23T18:27:42.388610+00:00 heroku[web.1]: Error R12 (Exit timeout) -> At least one process failed to exit within 10 seconds of SIGTERM 2013-04-23T18:27:42.388610+00:00 heroku[web.1]: Stopping remaining processes with SIGKILL 2013-04-23T18:27:44.355310+00:00 […]

railsstutorial.org中的SessionsHelper:帮助者应该是视图中不需要的代码的通用模块吗?

railstutorial.org有一个建议让我觉得有点奇怪。 它建议这段代码 : class ApplicationController < ActionController::Base protect_from_forgery include SessionsHelper end include SessionsHelper使得方法可以从ApplicationController ,是的,但它也可以在任何视图中使用它们。 我知道认证/授权是跨领域的,但这真的是最好的地方吗? 在我看来,这似乎可能过于宽泛。 在一个更常见的包含视图帮助程序的模块中放置实现比较重定向的before_filter代码(如railstutorial.org示例所示)似乎令人惊讶。 在视图中不严格需要的function是否可以更好地放在ApplicationController或其他地方? 或者我只是在考虑这个问题?