ruby -v = 2.1.6p336
rails -v = 4.2.1
MySQL --version = 14.14
编程和Rails的新手。通过教程。
做了rails generate controller welcome index
。
Rails服务器 - localhost:3000显示欢迎页面。
更改config / routes.rb文件...取消注释root' welcome #index' (摆脱#。(第8行) Rails服务器 - localhost:3000显示错误。
----------从localhost:3000复制-------------------------------- ----------
ExecJS::ProgramError in Welcome#index
Showing c:/row/dev/readit/app/views/layouts/application.html.erb where line #6 raised:
TypeError: Object doesn't support this property or method
Rails.root: c:/row/dev/readit
Application Trace | Framework Trace | Full Trace
app/views/layouts/application.html.erb:6:in `_app_views_layouts_application_html_erb___173287605_49138164'
评论了root' welcome #index'再次出来,我有欢迎登机页面。
如果我执行localhost:3000 / index 我收到路由错误。没有路线匹配[GET]" / index"
我有:
controllers/welcome_controller.rb
views/welcome/index.html.erb
这是config / routes.rb文件-----------------
的开头Rails.application.routes.draw do
get 'welcome/index'
# The priority is based upon order of creation: first created -> highest priority.
# See how all your routes lay out with "rake routes".
# You can have the root of your site routed with "root"
root 'welcome#index'
如何让config/routes.rb
文件显示views/welcome/index.html.erb
文件?
这是否与MySQL套接字有关,我想假装放入config/database.yml
?因为我不知道该放什么。
答案 0 :(得分:0)
“application.html.erb”第6行看起来有错误。如果要创建从该页面到“根”页面的超链接,则应使用以下视图助手:
<%= link_to "Home", root_path %>
在呈现页面并使用Chrome的检查器检查HTML代码时,您会看到上面的代码转换为:
<a href="/welcome/index">Home</a>
答案 1 :(得分:0)
在app/views/layouts/application.html.erb
中,尝试更改行:
<%= javascript_include_tag 'application', data-turbolinks-track => true %>
对此(删除data-turbolinks-track => true
):
<%= javascript_include_tag 'application' %>
这可能会解决它。您不应该删除整行,因为在项目的某个时刻您可能需要在布局中使用JS:)
希望它有所帮助!
答案 2 :(得分:0)
我通过重命名来修复它[它可能听起来不对,但它对我有用,试一试]
应用程序/视图/布局/的应用强> .html.erb
要
应用程序/视图/布局/ 默认强> .html.erb
我希望它也适合你