问题标签 [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 投票
4 回答
27812 浏览

ruby-on-rails - Ruby on rails 和 Node.js

我想知道如何将 node.js 集成到 rails 应用程序(用于学习目的)。

基于 Michael Hartl 教程 ( http://railstutorial.org/ ),我实现了一个带有 rails 的基本 twitter 克隆,并希望在不使用 comet 或 juggernaut 的情况下实时获取用户微帖子。(应用程序托管在 heroku 上)

目前,我只看到带有 node.js 框架的示例(http://howtonode.org/grasshopper-shoutbox),但没有与 ruby​​ on rails 应用程序合并。如果有人知道一个好的教程或给我一些开始以完成此任务,我将非常感激。

谢谢!

0 投票
5 回答
15882 浏览

ruby-on-rails - Rails 3教程第11章“验证失败:电子邮件已被占用”错误

我的麻烦出现在 Ruby on Rails 教程的第 11

我看到了这个 rspec 错误:

先入user_spec.rb再入micropost_spec.rb。这很令人费解。我认为每次 autotest 运行 rspec 时,工厂语句都会在新的测试数据库中生成一个用户。我用 git 从 master 分支检查了源文件并再次尝试,但看到了同样的错误。因此,我怀疑它与数据库内容有关,而不是代码。

所以,我做了以下事情:

......一切都变绿了。rspec 测试通过。

可能有一个更“切中要害”的解决方案,但我很高兴这能奏效。希望它可以帮助别人。我只能得出结论,我的测试/开发以某种方式向数据库添加了一些意想不到的东西。我想上述步骤是在第 11 章快结束时让自己成为一个新鲜数据库的好方法。

有没有更直接的方法来解决这个问题?该错误是否表明我在没有意识到的情况下解决了其他问题?我认为运行 rspec 并不能保证每次都有新的测试数据库。这是一个错误的假设吗?

0 投票
4 回答
4929 浏览

ruby-on-rails - railstutorial.org 中的 SessionsHelper:助手应该是视图中不需要的代码的通用模块吗?

railstutorial.org 有一个让我觉得有点奇怪的建议。

它建议此代码

使这些include SessionsHelper方法可以从中使用ApplicationController,是的,但它也使它们在任何视图中都可用。我知道身份验证/授权是跨领域的,但这真的是最好的地方吗?

在我看来,这可能范围太广了。例如,将实现before_filter有条件重定向的代码(如 railstutorial.org 示例所做的那样)放在更常见的包含视图助手的模块中似乎令人惊讶。

视图中不需要的功能会更好地放在 ApplicationController 或其他地方吗?

还是我只是想太多了?

0 投票
1 回答
7542 浏览

ruby-on-rails - Rails 教程 — 9.3.3 Current_User

所以我正在关注Rails 教程,我已经到了我们想要使用 sign_in SessionHelper 登录用户的部分。

问题一

我遇到的困难是这部分内容:

问题是它完全无法解决我们的问题:使用该代码,用户的登录状态将被遗忘:只要用户转到另一个页面。

我不明白这是怎么回事?我继续阅读并理解添加的代码确保@current_user 永远不会为零。但是如果我们只是在第 5 行建立它,我看不到 current_user 将如何恢复为零。

问题 2

更新后的代码如下:

在 remember_token 助手中,为什么它使用 cookies.signed[] 而不是 cookies.permanent.signed[] 以及为什么不使用我们刚刚学习的 ||= 运算符?

问题 3

为什么我们需要authenticate_with_salt?如果我进行身份验证和登录可以看到传递给它的用户的 id 和 salt 属性,为什么我们需要 double_check 呢?什么样的情况会引发混淆?

0 投票
1 回答
896 浏览

ruby-on-rails - Michael Hartl 的 Rails 3 教程:has_password 有问题吗?第 7 章中的方法

这整个早上都在踢我的屁股。

现在,我刚刚开始 Michael Hartl 的优秀Ruby on Rails 3 教程的第 7.2.4 章,我遇到了一些问题。has_password?本节首先在 Rails 控制台沙箱中快速检查该方法。这是我输入的内容:

这应该是返回true

这是我的user.rb模型:

我所有的RSpec测试都完美通过了,据我所知,我已经逐字编码了书中的所有内容——我什至复制/粘贴了一些代码以确保。我根本看不出有任何失败的理由,所以任何帮助都将成为救命稻草。

这是本书的在线链接:[链接]

0 投票
2 回答
887 浏览

ruby-on-rails-3 - 路由错误,来自 railstutorial.org 的 Michael Hartl 的截屏视频

我正在关注来自 railstutorial.org 的 Michael Hartl 的截屏视频。根据第 5 章,我将 config/routes.rb 更改为:

和 _footer.html.erb 到:

  • <%= link_to "关于", about_path %>
  • <%= link_to "联系人", contact_path %>

和 _header.html.erb 到:

我是 Ruby on Rails 的新手。我在浏览器中收到路由错误

没有路线匹配“/pages/contact”

我正在使用 ruby​​ 1.9.2p180(2011-02-18 修订版 30909)[x86_64-linux]、rails 3.0.7 和 gem 1.6.2 请帮忙。

0 投票
1 回答
937 浏览

ruby-on-rails - RailsTutorial 登录 flash 不工作

我试图让错误闪烁出现在 railstutorial.org 示例应用程序中。到目前为止,这就是我所做的。谁能帮我找出错误:

我的 RSPEC 测试失败:

控制器代码:

测试代码:

0 投票
3 回答
2396 浏览

ruby-on-rails - 使用 rake db 的问题:railstutorial.org 第 2 章上的迁移

我正在关注railstutorial.org上的 rails 教程

我在第 2 章中,并尝试按照说明使用 rake 迁移数据库:“要继续演示应用程序,我们首先需要使用 Rake 迁移数据库(框 2.1)”:

这不起作用,我收到以下错误:

我该如何解决这个问题?

0 投票
5 回答
2758 浏览

javascript - 按钮在 Ajax - Rails 教程 3 中未更新,第 12.2.5 节

我正在阅读 Michael Hartl 的 Rails 教程,在第 12.2.5 节遇到了一个小障碍,我们应该在这里使用 Ajax 创建一个工作按钮。我知道代码是正确的(我直接从书中复制了它并重新输入了三遍)而且我是绿色的。但它实际上不起作用!

通过本教程的这一部分,我们将更改常规表单提交按钮以使用 Ajax,以便整个页面不会“刷新”(实际上,重定向到同一页面),而只是按钮和相应的侧边栏项目更新。问题是按钮不会像我期望的那样在单击时自动重新加载。它会在页面刷新时重新加载。如果我在浏览器中禁用 JS,它会恢复 - 它应该 - 触发重定向并“刷新”整个页面的 HTML 版本。如果您想知道,我已经尝试过刷新页面,并且我已经尝试过 Firefox、Safari 和 Chrome 以及 Incognito 中的 Chrome。我已经关闭并重新启动了 rails 服务器、spork 和 autotest。我重写了所有的代码,然后复制了本书的所有代码。还是一头雾水。

因此,即使测试是绿色的,我的工作功能也不完美。也许我缺少一些东西,你可以帮我找到它吗?也许我错过了一个与 javascreipt 相关的 gem,一个 Ajax gem ......

代码的相关部分:

关系控制器.erb:

结尾

_follow.html.erb:

<%= form_for(current_user.relationships.build(:followed_id => @user.id), :remote => true) 做 |f| %> <%= f.hidden_​​field :followed_id %>
<%= f.submit "Follow" %> <% end %>

_unfollow.html.erb:

<% 结束 %>

创建.js.erb

销毁.js.erb

我还确保该行包含在 application.html.erb 中

如果您还需要评估情况,请询问,我会及时回复。

TIA

0 投票
5 回答
22713 浏览

ruby-on-rails-3 - 不推荐对 Rake DSL 方法进行全局访问

我正在阅读 Ruby on Rails 3 教程书,并在命令行上键入以下内容:

这产生了以下警告。

我不知道该怎么做或如何使用它。我不知道 Rake 的任何其他命令。

我该如何解决这个问题?