问题标签 [railstutorial.org]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
395 浏览

ruby-on-rails - 语法错误,railstutorial.org 的站点布局部分中出现意外的“:”

我正在按照RoR 教程进行操作,并且完全按照指示进行操作(或者我认为是这样)。

这是我的 app/views/static_pages/home.html.erb 文件:

但是,当我在本地主机上运行它时,我得到了错误:

sample_app/app/views/static_pages/home.html.erb:9:语法错误,意外':' ...到“立即注册!”,'#',类:“signup_button round”);@outp .. .

我不明白我必须改变什么以及为什么。有什么帮助吗?

0 投票
1 回答
3837 浏览

ruby-on-rails - Michael Hartl 的书 Rails 3.0 和 Rails 3.2 之间的区别

我正在从 Michael Hartl 的书中学习 Ruby on Rails。我真的很喜欢这篇文章,结构清晰,结构清晰。不过,我对 Rails 3.0 和 Rails 3.2 版本之间的第 3.3 章差异有疑问:

  • PagesController成为一个StaticPagesController
  • @Title不再在控制器中初始化,而是在每个页面中
  • 变量通过@Title“provide”函数初始化,并通过“yield”函数使用,而不是简单地插入<%= @title %>

是出于培训原因,还是更新了 RoR 开发的最佳实践?

0 投票
1 回答
2415 浏览

ruby-on-rails - 未定义的局部变量或方法 `summitted_pa​​ssword' Ruby on Rails 教程第 9 章

我正在阅读 Ruby on Rails 教程。在第 9 章写完所有代码后,用于登录并记住我的代码。我的 rspec 测试仍然失败。这正是错误:

有没有人有同样的问题,因为我没有发现任何错字。

这是我的 session_controller

修复用户模型上的类型后,我在测试中收到此错误:

这是我的 bundle exec rake 路线

路由.rb 文件

谢谢

0 投票
1 回答
565 浏览

ruby-on-rails - RoR教程第4.1.1章,困惑为什么标题助手不会失败

我正在阅读 Michael Hartl 的 Ruby on Rails 3.2 教程,我很困惑为什么第 4.1.1 节中的标题助手没有失败。

他谈到如果您从视图中遗漏了这段代码,则需要一个标题助手:

但是在应用程序布局文件中有这一行:

由于提供没有为 :title 符号设置值,这不会将 nil 值传递给 full_title 帮助程序吗?

在本章的后面,他有一个输入到 rails 控制台的示例,该示例与 full_title 函数相同:

这让我更加困惑。

在控制台,如果我输入:

  • string_message("")然后我得到"It's an empty string!"
  • string_message("something")然后我得到"The string is nonempty."
  • string_message(nil)然后我得到NoMethodError: undefined method 'empty?' for nil:NilClass
  • string_message(test)然后我得到ArgumentError: wrong number of arguments (0 for 2..3)
  • string_message(:test)然后我得到"The string is nonempty."

那么传递一个未定义的符号不会产生一个零值吗?但它也是非空的?为什么 :title 不被视为非空?如果有人可以为我解决这个问题,那就太好了。

0 投票
2 回答
698 浏览

ruby-on-rails - RailsTutorial 3.2 Ch 9 - "before { valid_signin(user) }" 导致 RSpec 测试失败

我目前在 RailsTutorial 3.2, Section 9.3.1 User Index中。

清单 9.27 直接对spec/requests/authentication_pages_spec.rb代码进行编辑,如下所示:

执行此操作后,相应的测试部分将失败。我一直非常忠实地遵循本教程,所以我的代码和设置在其他方面几乎相同。

在测试了一些东西之后,我发现改变

读线

相反,将使所有测试再次通过。该行在语法上是否存在某些问题valid_signin(user),或者这是否指向我的代码中其他地方的错误?

(该应用程序的工作方式与预期完全一样,只是测试表明它没有。)

0 投票
1 回答
312 浏览

ruby-on-rails-3 - Michael Hartl 的 Rails 3 教程:第 3.2.2 节。缺少 RSpec 视图/控制器生成

我正在阅读 Michael Hartl 的优秀 Rails 3 教程书,但我被困在第 3.2.2 节。他在其中提到 rspec 测试是从自动生成的

我注意到当前版本的 gems 有几点不同,这是意料之中的,但我在我的spec目录中看到的只是一个名为“ spec_helper.rb ”的文件。所以我错过了以下目录,根据教程,应该退出:

规范/助手
规范/视图
规范/控制器

这是 RSpec 或 Rails 不再生成的东西吗?

0 投票
2 回答
795 浏览

ruby-on-rails - 使用 Ajax 的按钮在 Heroku 上不起作用

在这里,我正在关注 Michael Hartl 著名的 Ruby on Rails 教程(Rails 3.2)。“11.2.5 使用 Ajax 的工作跟随按钮”部分适用于本地计算机,但不适用于 Heroku。当我单击“关注”或“取消关注”按钮时,页面上的任何内容都不会刷新。虽然我可以看到该操作确实是从日志中调用的。

然后我必须手动单击浏览器(FireFox 7.0)的刷新按钮来刷新整个页面,并且该按钮会在结果中正确切换。

文件 app/views/layouts/application.html.erb 如下:

0 投票
1 回答
1258 浏览

ruby-on-rails - RailsTutorial 3.2 Ch 11 - PostgreSQL 语法错误破坏了状态提要

我在Rails 教程的第 11.3.1 节中,在此之前所有测试都通过了。之后,主页(具有微博提要)因以下错误而中断:

并且有几个测试因类似的问题而失败。这是第一个:

现在,我使用的是 PostgreSQL 而不是默认的 SQLite3,所以可能存在语法冲突,但我并不肯定。我对 Postgres 不是很熟悉(只是用它来使 Heroku 部署更干净)。

看起来主页错误来自通过引号传递给查询的 id - 我进入 psql 测试了一些查询,这是成功的:

虽然这失败了:

并且规范错误来自一个正在传递的空数组,相当于这个,它也失败了:


任何熟悉 PostgreSQL 语法的人都可以告诉我如何重写方法定义来解决这个问题吗?

中的当前方法micropost.rb如下所示:

来自 `users.rb' 的调用如下所示:

0 投票
1 回答
463 浏览

ruby-on-rails - Rails 教程 Sample_App 在 Heroku 上失败

我阅读 Rails 教程并创建了一个 Sample_App。

我的代码在这里可用:https ://github.com/namic/sample_app

Heroku 在这里运行应用程序:http: //afternoon-mist-7865.herokuapp.com/

它可以在我的笔记本电脑上的测试、开发和生产环境中使用,但 Heroku 用“我们很抱歉,但出了点问题”否认了我的喜悦。

有什么建议么?

解决方案:添加到 Gemfile: group :production do gem 'pg' end

如果您不想在本地使用 postgresql,请记住在没有生产的情况下运行 bundle install: bundle install --without production

0 投票
1 回答
317 浏览

rspec - Rails 教程 - Ch. 8 - 使用“之前”行的 RSpec 测试中的 ArgumentError

我正在关注 Michael Hartl 的 Rails 教程,并且在第 8.2.6 节退出时遇到意外错误/失败的测试 - http://ruby.railstutorial.org/chapters/sign-in-sign-out?version =3.2#sec:signing_out

我用于我的 RSpec 测试失败的代码可以在清单 8.28 中找到。以下代码:

给出以下错误:

我确认我的代码与 Hartl 教程中的示例完全一样,但我的测试仍然失败。想法?