Ruby on rails 链接到帮助程序时崩溃

Ruby on rails 链接到帮助程序时崩溃,ruby-on-rails,ruby,Ruby On Rails,Ruby,我正在读《Rails 6下的敏捷Web开发》一书,从一开始我就面临一个问题 书中说要生成一个Say控制器,有两种方法:hello和再见。然后,我们被要求使用“link_to”助手链接这两个视图 当我运行它时,它在两个视图上都会崩溃,并出现此错误(我在再见模板中也会遇到相同的错误): 显然,路由确实存在,因此say_xxxx_路径应该可以工作。我有另一个教程项目,如预期的模式工作。这两个项目都运行在Rails 6.0.3.2/Ruby 2.7.0上。项目的GEM2文件是相同的 我不知道那里出了什么

我正在读《Rails 6下的敏捷Web开发》一书,从一开始我就面临一个问题

书中说要生成一个Say控制器,有两种方法:hello和再见。然后,我们被要求使用“link_to”助手链接这两个视图

当我运行它时,它在两个视图上都会崩溃,并出现此错误(我在再见模板中也会遇到相同的错误):

显然,路由确实存在,因此say_xxxx_路径应该可以工作。我有另一个教程项目,如预期的模式工作。这两个项目都运行在Rails 6.0.3.2/Ruby 2.7.0上。项目的GEM2文件是相同的


我不知道那里出了什么问题。我怀疑此项目Rails堆栈中可能有错误,但我不知道如何检查此错误。

您的链接中确实存在错误 试一试


你能看出区别吗?不我也不能,但当我复制并粘贴你的代码到我的应用程序时,我得到了与你看到的相同的错误

复制并粘贴,看看是否有帮助

我怀疑你的编辑器可能包含隐藏的控制字符。你用的是什么编辑器?我强烈推荐Atom,在linux下开发将使您的生活变得更加简单

如果您不深入了解这一点,您将有许多小时的调试问题,而这些问题并不存在

没有人回答您的问题,因为您的代码没有明显的问题

更新


经过进一步调查,依次删除每个字符并用键入的代码替换,问题得以解决,似乎每一个空格(包括行首)都有一个隐藏的控制器字符,我不得不删除两个字符以去掉一个空格,因此我只能得出结论,您的编辑器严重塞满了

输出告诉您app/views/say/hello.html.erb的第6行有语法错误。你能把整个文件都分享给我们看吗?我建议你阅读它,它似乎是一个很好的指南,指导你如何阅读错误信息,让它们看起来更少cryptic@maxpleaner这个错误是隐藏的控制字符,无论这个建议多么好或明智,读多少关于错误消息的内容都无法解决这个问题。我想你可能会感兴趣太棒了@jamesc!!它确实有效。我现在知道问题出在哪里了。我从macOs Books应用程序中打开的epub复制/粘贴了代码。这总是会增加一些棘手的事情。非常感谢,你为我节省了很多时间。我现在将更多地关注这些问题。
<h1>Goodbye!</h1>
<p>
​ <%=​ link_to ​'Hello', say_hello_path ​%>​
</p>

<h1>Hello</h1>
​<p>
 <%=​ link_to ​'Goodbye'​, say_goodbye_path ​%>​
</p>
class SayController < ApplicationController
  def hello
    @time = Time.now
  end

  def goodbye
  end
end
Rails.application.routes.draw do
  get 'say/hello'
  get 'say/goodbye'
  # For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html
end
app/views/say/hello.html.erb:3: syntax error, unexpected local variable or method, expecting `do' or '{' or '(' app/views/say/hello.html.erb:3: syntax error, unexpected local variable or method, expecting ')' app/views/say/hello.html.erb:3: syntax error, unexpected local variable or method, expecting `do' or '{' or '(' app/views/say/hello.html.erb:3: syntax error, unexpected local variable or method, expecting ')' app/views/say/hello.html.erb:3: syntax error, unexpected local variable or method, expecting `do' or '{' or '(' app/views/say/hello.html.erb:3: syntax error, unexpected local variable or method, expecting ')' app/views/say/hello.html.erb:3: syntax error, unexpected local variable or method, expecting `do' or '{' or '(' app/views/say/hello.html.erb:3: syntax error, unexpected local variable or method, expecting ')' app/views/say/hello.html.erb:3: syntax error, unexpected local variable or method, expecting `do' or '{' or '(' app/views/say/hello.html.erb:3: syntax error, unexpected local variable or method, expecting ')' app/views/say/hello.html.erb:3: syntax error, unexpected local variable or method, expecting `do' or '{' or '('
say_hello GET /say/hello(.:format) say#hello
say_goodbye GET /say/goodbye(.:format) say#goodbye
<%= link_to 'Goodbye', say_goodbye_path %>