问题标签 [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.
ruby-on-rails - 错误(RoR 教程)-下拉菜单未触发 w/bootstrap-会话销毁路径不正确?
Rails 教程 (Hartl) v3.2 中的错误
我在第 8 章,在练习之前所有测试都正确通过。除了两个问题(我认为它们是相关的)。
由于会话销毁路径似乎不正确,因此下拉菜单未使用引导程序触发。我还尝试使用 form_tag 代替 form_for 标记,但我不断收到以下错误:
这是 app/views/sessions 下的 new_html.erb:
这是 session_controller.rb:
最后,这是 rake 路由输出:
任何帮助都会很棒。
编辑:
cbright 有它。我不得不修改 session_controller。以下两行按预期工作。
ruby-on-rails - 第 9 章 授权测试失败
在 Michael Hartl 的新 Rails Tutorial Book (3.2) 的第 9.2.1 节中,定义了一个测试,以确保如果用户登录,他们不能更新 (PUT) 更改给另一个用户。如果尝试这样做,则应将用户重定向到主页。因为网页不能直接发出 PUT,所以 RSPEC 测试使用:
在 { 放 user_path(wrong_user) } { response.should redirect_to(root_path) } 之前
这个测试用例失败并查看它似乎正在退出的日志,因为 UserController 中的第一个 before_filter (signed_in_user) 正在重定向到登录页面。
这是此示例应用程序的 github 页面: https ://github.com/treetopvt/sample_app
ruby-on-rails - rake db:migrate 不工作
我正在学习 Rails 教程并被卡住了。从代码清单 8.16 开始,我对以下内容进行了修改<timestamp>_add_remember_token_to_users.rb
:
然后指南说像往常一样更新开发和测试数据库:
我对 *remember_token* 的用户测试仍然失败,所以我查看了 dev 中的用户表并使用命令行 sqlite3 测试数据库。它们看起来像这样:
似乎我的迁移尚未运行,但我不知道如何强制它运行。
ruby-on-rails-3 - Ruby 教程 Ch9 练习 #9 - 不允许管理员删除自己
我是 Ruby 和 Rails 的新手,这就是我阅读 Michael Hartl 的 Rails 教程的原因。我被困在第 9 章,练习 #9。我已将用户控制器中的 def destroy 代码更新为:
当我通过在管理员登录时将“删除”链接添加到 current_user 来在浏览器中进行测试时,这似乎有效。但练习中说要先编写一个测试——我这样做了,但似乎没有用。这是我的测试:
也许我正在测试的东西不应该被测试。如何测试用户控制器中对 def destroy 代码的修改?
ruby - Ruby Guard 问题 - “请安装 sqlite3 适配器” - railstutorial.org
我正在关注Ruby on Rails 教程,并且在测试部分有些困惑,特别是 - 3.6.2 - 使用 Guard 进行自动化测试
根据教程关于部署到 Heroku 的说明,我已经切换到 Postgresql 并从我的 gemfile 中删除了 sqlite3 并进行了捆绑安装以进行更新。
但是,一旦我跑步
捆绑执行守卫
我收到消息:
/Users/username/.rvm/gems/ruby-1.9.3-p125@global/gems/bundler-1.1.3/lib/bundler/rubygems_integration.rb:147:in
block in replace_gem': Please install the sqlite3 adapter:
gem install activerecord-sqlite3-adapter`(sqlite3 是不是捆绑包的一部分。将其添加到 Gemfile。)(LoadError)
我很困惑为什么我需要这个,因为 sqlite3 已从我的环境中删除?
我的 Gemfile 如下:
我有点困惑,因为教程中的 Gemfile 再次显示 sqlite3,即使它在教程的上一节中被删除。
ruby-on-rails - Rails 教程 3.2 Ch11 SQL 语法
我正在从 Rails 教程中学习 Rails。我在11.3.1 节遇到了一个问题,代码清单 11.44 中的代码:
不会在 follow_user_ids 中返回 user_id。
在stackoverflow上搜索后,我在这里找到了解决方案,它说只需删除“join”方法就可以了。
但是我很好奇为什么在删除“加入”方法之前运行 RSPEC 时没有错误。
在清单 11.41 中:
如果“join”方法会使SQL语句出错,为什么RSPEC通过了?
有没有人有同样的问题?
更新 2012.04.03
我使用 Rails 控制台来检查问题。
哪个得到了
然后是 SQL
结果是
返回一个空数组。
但我所有的 rspec 都通过了。还是不知道。
sql - ActiveRecord::StatementInvalid in Users#show Rails 教程第 12 章
我在网站上收到了一堆失败的测试(准确地说是 21 个)/一条错误消息。
这是网站上的消息:
ActiveRecord::StatementInvalid in Users#show
显示 rails_projects/sample_app/app/views/shared/_stats.html.erb 其中第 11 行提出:
SQLite3::SQLException:靠近“id”:语法错误:SELECT COUNT(*) FROM "users" INNER JOIN "relationships" ON "users".id = "relationships".follower_id WHERE (("relationships".followed_id = 101 ))
它还提取了“提取的源代码(在第 11 行附近):”
还:
当我拿走
行,该站点可以正常工作(并且我的失败测试缩小到 6 个)。
失败的测试似乎有类似的 SQL 错误。以下是失败的测试:
以下是他们得到的错误(分别):
这是我的“_stats.html.erb”文件:
这是我的“show.html.erb”文件:
这是我的关系数据库文件(如果有帮助):
我尝试删除迁移并重新开始(也准备测试数据库),但仍然没有。
如果我应该提供任何其他文件来帮助解决问题,请告诉我!
编辑
这里的问题是我的用户模型。这是编辑后的版本(相关部分):
之前,foreign_key 设置为“followed_id”
ruby-on-rails - railstutorial.org - 6.11 - rspec 失败,是 postgresql 的问题吗?
我正在阅读 Rails 教程,并在第 6.11 节
出于某种原因,我在 rspec 中得到了 4 个示例和 4 个失败,而在本教程中,我得到了 4 个示例和 1 个失败(因此为 0)。
我在我的 rspec 中看到了这一点:
问题是,本教程是在 sqlite 中进行的,但我迁移到了 postgres(如前面教程中所建议的那样),所以我也可以了解 postgres。这是造成问题的原因吗?无论如何,activerecord 不应该让我使用什么样的数据库变得透明吗?
我已经创建了正确的数据库,更新了我的 database.yml,运行 db:mgirate 和命令
在沙盒控制台中工作正常。
非常感谢任何帮助。我试图在这里保持领先,对我来说,这是学习 Rails 最具挑战性的部分。几乎感觉就像一个人花费了 90% 的精力来编写和调试测试。(到目前为止,我遇到的唯一绊脚石/头脑弯曲的 headca 是 rspec 测试)
user_rspec.rb:
--
作为第二个问题,我发现我的 rspec 测试运行了多次?我安装了 ruby-gntp gem,发现每次运行测试时都会出现多次咆哮,并且信息相同。
ruby - Rails 教程第 7 章,练习 4
我在railstutorial.org的第 7 章中的练习 4 遇到问题。
以下是测试:
这是它应该测试的内容,users_controller.rb:
这里也是 show.html.erb 代码:
当我运行测试时,我得到了这个:
它应该将测试用户保存到测试数据库,但由于某种原因,user.name 变成了 nil。有任何想法吗?
谢谢!
ruby-on-rails-3 - RSpec 给出 ActiveModel::MassAssignmentSecurity::Error
我正在关注 Railstutorial.org 并在使用 Rspec 时出现 MassAssignment 错误。
可能是因为我尝试在 RSpec 中分配变量之前:
是否可以在开发或测试模式下禁用 MassAssignment 保护?或者当 RSpec 运行时?任何帮助都会很棒!谢谢