我已经创建了一个简单的rails网站并推送到git并通过heroku部署。显示的唯一页面是主页。这是路线文件。
Rails.application.routes.draw do
root 'handm#home'
get 'handm/about'
get 'handm/contact'
get 'handm/industries'
get 'handm/languages'
get 'handm/services'
end
什么可能导致页面"不存在"?谢谢你的帮助。
答案 0 :(得分:0)
您尚未正确定义路线。在获取路线中,您还需要提供控制器和操作。
尝试将get 'handm/about'
更改为get 'handm/about', to: 'handm#about'
。对其他人也这样做。希望这有效。
答案 1 :(得分:0)
导航栏中的路线和文件中定义的路线不同。
此路线
get 'handm/about'
在 your_app_name / handm / about
处创建网址如果您只想要 your_app_name / about ,这是导航栏中的链接,请在路径文件中将其更改为此内容。
get 'about', to: 'handm#about'
这样做的目的是命名路线 / about 并将其指向您的控制器并使用" to:handm#about"。您将需要以这种方式切换每条路线,而不是根路径,保持原样。
当您将其切换时,请按git并重新部署到heroku,您的链接应该按原样运行。
答案 2 :(得分:0)
您的指定路线没有任何问题,您只是没有给他们一个路由器的控制器方法。试试这个:
get 'industries', to: 'handm#industries'
您混淆了以下路线 - 因为它们不相同:
www.herokuapp.com/handm/industries & www.herokuapp.com/industries
请记住,Rails 5.1的新功能是直接路由,它在您应用的路由文件中的工作方式如下:
direct(:industries) { "http://www.example.com/industries" }
创建以下rails方法:
>> industries_url
现在将浏览器路由到:
http://www.example.com/industries
对于初学者来说,这是一种非常简单的技术,因为您提供的是帮助名称和原始URL。您将获得一个帮助方法(indstries_url),可以在您的应用中的任何位置使用link_to