- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在 Michael Hartl 的 RoR 教程中不断遇到这个错误。是的,我用谷歌搜索了这个问题,看到有人回答了几次。我尝试了提供的解决方案,但他们没有解决问题。这是错误:
ec2-user:~/environment/sample_app (static-pages) $ rails test
Running via Spring preloader in process 16202
Run options: --seed 53019
# Running:
F
Failure:
StaticPagesControllerTest#test_should_get_about [/home/ec2-
user/environment/sample_app/test/controllers/
static_pages_controller_test.rb:20]:
Expected at least 1 element matching "title", found 0..
Expected 0 to be >= 1.
bin/rails test test/controllers/static_pages_controller_test.rb:17
F
Failure:
StaticPagesControllerTest#test_should_get_home [/home/ec2-
user/environment/sample_app/test/controllers/
static_pages_controller_test.rb:8]:
Expected at least 1 element matching "title", found 0..
Expected 0 to be >= 1.
bin/rails test test/controllers/static_pages_controller_test.rb:5
F
Failure:
StaticPagesControllerTest#test_should_get_help [/home/ec2-
user/environment/sample_app/test/controllers/
static_pages_controller_test.rb:14]:
Expected at least 1 element matching "title", found 0..
Expected 0 to be >= 1.
bin/rails test test/controllers/static_pages_controller_test.rb:11
Finished in 0.171213s, 17.5220 runs/s, 35.0441 assertions/s.
3 runs, 6 assertions, 3 failures, 0 errors, 0 skips
因此,它试图显示的内容和输入的内容之间存在误传。我理解那部分。但从字面上看,我的代码表明它应该可以工作。我完全是从书上抄的..
这是我的 static_pages_controller_test.rb 代码:
require 'test_helper'
class StaticPagesControllerTest < ActionDispatch::IntegrationTest
test "should get home" do
get static_pages_home_url
assert_response :success
assert_select "title", "Home | Ruby on Rails Tutorial Sample App."
end
test "should get help" do
get static_pages_help_url
assert_response :success
assert_select "title", "Help | Ruby on Rails Tutorial Sample App."
end
test "should get about" do
get static_pages_about_url
assert_response :success
assert_select "title", "About | Ruby on Rails Tutorial Sample App."
end
end
这是我的 applications.html.erb 代码:
<!DOCTYPE html>
<html>
<head>
<title><%= yield(:title) %> | Ruby on Rails Tutorial Sample App</title>
<%= csrf_meta_tags %>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
</head>
<body>
<%= yield %>
</body>
</html>
所以我很困惑为什么这不起作用。另一篇文章的一个回答表明它与帮助没有 html 的东西有关。但我的有。任何人都看到这里发生了什么。我正在使用 cloud9 IDE。
谢谢,本
编辑 1:更新
这是我的主页、帮助和关于 html 代码。主页:
<% provide(:title, "Home") %>
<h1>Sample App</h1>
<p>This is the home page for the
<a href="http://www.railstutorial.org/">Ruby on Rails</a>
sample application
</p>
帮助:
<% provide(:title, "Help") %>
<h1>Help</h1>
<p>
Get help on the Ruby on Rails Tutorial at the
<a href="http://www.railstutorial.org/help">Rails Tutorial help section</a>.
To get help on this sample app, see the
<a href="http://www.railstutorial.org/book"><em>Ruby on Rails Tutorial</em>
book</a>.
</p>
关于:
<% provide(:title, "About") %>
<h1>About</h1>
<p>
The <a href="http://www.railstutorial.org/"><em>Ruby on Rails
Tutorial</em></a> is a
<a href="http://www.railstutorial.org/book">book</a> and
<a href="http://screencasts.railstutorial.org/">screencast series</a>
to teach web development with
<a href="http://rubyonrails.org/">Ruby on Rails</a>.
This is the sample application for the tutorial.
</p>
为了回答以下问题,此代码尚未推送到存储库。在我发布它之前,我在本地托管它(并测试它)。当我在本地浏览器中查看它时,页面可以正常工作,但未填充标题(浏览器顶部的选项卡)。所以很明显标题功能不起作用。
更新 2:添加了 routes.rb
Rails.application.routes.draw do
root 'static_pages#home'
get 'static_pages/home'
get 'static_pages/help'
get 'static_pages/about'
get 'static_pages/contact'
# For details on the DSL available within this file, see
http://guides.rubyonrails.org/routing.html
# root 'application#hello'
end
最佳答案
我在学习 Rails 时也遇到了同样的问题,但我在另一篇 StackOverflow 文章中找到了答案。
provide
stores a block of markup in an identifier for later use. In this case, 'Help' in the symbol :title. The provide is enclosed in<% %>
to indicate it is executing this code and not printing out in the view.
yield
in this case just spits that block back out. The yield is enclosed in<%= %>
to indicate it is being printed out into the view.Think of it as setting a variable and printing out a variable.
See: http://api.rubyonrails.org/classes/ActionView/Helpers/CaptureHelper.html#method-i-provide for more information. Note that provide is really a wrapper for content_for so that's where the good stuff is in that link.
这摘自这篇 StackOverflow 文章:yield and provide() inside template
关于ruby-on-rails - Ruby on Rails Michael Hartl 第 3 章错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49165106/
sanitize 是什么意思在 Rails 中是什么意思? 我正在阅读 CanCanCan 的文档.它说: When using strong_parameters or Rails 4+, you
在过去的几个月里,我感觉自己对 Ruby on Rails (RoR) 开发的了解达到了极限。我为大/小客户和 friend /爱好项目开发了大大小小的应用程序。我知道如何开发这些应用程序,但开始感觉
我昨天参加了一个关于扩展 Rails 的聚会,其中一个主题是 Hexagonal Rails。然而,我只做了一年的 Rails,对 MVC 结构非常满意(也许太舒服了),所以我不太了解适配器和消息队列
我使用多个 Rails 应用程序,一些在 Rails 3.2/Ruby 2.0 上,一些在 Rails 2.3/Ruby 1.8.7 上。 他们的共同点是,随着他们的成长和添加更多的依赖项/ gem
这个问题在这里已经有了答案: Using Rails-UJS in JS modules (Rails 6 with webpacker) (5 个答案) 关闭 3 年前。 我正在尝试使用 UJS
我正在开发一个当前使用 Rails 1.2 的 Rails 应用程序,所以我现在离最新的稳定版本(Rails 2.3)还有很长的路要走。 我应该如何进行迁移到更新版本的 Rails 的过程? 我应该一
尝试按照 Ryan Bates Backbone.js 教程构建抽奖应用程序,但我已经遇到了第一段代码的问题。在 application.js 的 init 函数中,他初始化了 Raffler 路由的
我正在使用 Rails 3.2 并且我有一个数据库表,我想在其中找到符合以下条件的所有行: a = true and b = true and ( 0 true, :b =>
我有一个用户类和一个联系人,其中联系人是用户的子类。这两个类都存储在用户表中。 我的联系人可能有也可能没有电子邮件地址,而我的用户需要一个电子邮件地址(我的用户模型定义中有 validates_pre
我正在编写一个教程,我在其中演示了一些 rails 命令。在我的机器上 rails和 script/rails两者都同样有效。有“首选”形式吗?两者中哪一个更普遍? 最佳答案 当您运行 rails 时
我正在寻找有关通过我的应用程序前进的最佳方式的建议,这是我首次开始集成Elasticsearch。我是一名初学者,但是热衷于深入研究,以便原谅任何明显的错误! 我遵循了http://www.sitep
我刚刚用 Rails new 启动了一个新的 Rails 应用程序,将默认数据库设置更改为 PostgresSQL。我用 bin/rails s 启动服务器,结果很奇怪 2016-04-21 05:0
我收到一个参数并希望它是这样的字符串: "abc,efg" 或者像这样的数组 ["abc","efg"] 在第一种情况下,我想将它转换成一个数组,什么是好的方法? 这是我的想法 if params[:
我刚刚用 Rails new 启动了一个新的 Rails 应用程序,将默认数据库设置更改为 PostgresSQL。我用 bin/rails s 启动服务器,结果很奇怪 2016-04-21 05:0
我收到一个参数并希望它是这样的字符串: "abc,efg" 或者像这样的数组 ["abc","efg"] 在第一种情况下,我想将它转换成一个数组,什么是好的方法? 这是我的想法 if params[:
我有 Rails 4,这是我的默认版本(我仍然希望它是)。但我不想在我的电脑上添加 rails 3.2。在以下命令中:gem install rails -v 3.2.16 我有这个警告: railt
您好,我想使用 Sheevaplug 构建一个“Rails Brick”来自 Marvell(操作系统是开箱即用的 Ubuntu,但您可以在其上安装其他发行版)。它将成为家庭服务器和静音、低成本(99
我需要能够从 Rails 控制台发送我的 Rails 应用程序的 Postgres 数据库中所有未接受的邀请。 (我有一个名为 Invitations 的表,其中包含一个名为 accepted 的 b
validate :cannot_modify_if_locked, on: :update def cannot_modify_if_locked if self.locked erro
我正在学习教程(学习 Rails 播客),需要更改以下路由语法,以便它与 Rails 3.0 兼容。谁能帮忙? map.view_page ':name', :controller => 'viewe
我是一名优秀的程序员,十分优秀!