有关如何设置博客的指南,我已达到5.7
对于本节,它会告诉您如何显示该文章,但在执行完步骤之后,我只会在尝试运行rails服务器时收到错误。
它确切地说它是路线中的语法错误
该行为"article get /articles/:id(.:format) articles#show"
,错误指向:id
我不确定该怎么做,我查看了指南的路线部分,我认为这是一条有效的路线。
routes.rb
包含
Rails.application.routes.draw do
get 'welcome/index'
resources :articles
root 'welcome#index'
article get /articles/:id(.:format) articles#show
end
使用命令rails server时收到的确切消息是:
blog/config/routes.rb:5: syntax error, unexpected ':', expecting keyword_end (SyntaxError) article get /articles/:id(.:format) article#show
答案 0 :(得分:3)
您尝试制作的路线格式不正确,我可以说您从字面上粘贴了rails routes
命令的输出。
首先需要指定HTTP动词,在这种情况下为GET
,然后指定将响应的url
,然后是控制器和操作。
自:
article get /articles/:id(.:format) articles#show
尝试:
get '/articles/:id', to: 'articles#show'
答案 1 :(得分:0)
根据您在描述中的内容,看起来您在其中一条路线中至少缺少一个哈希火箭(=>
)。但是,当您添加resources :articles
行时,我认为可能会完全删除产生此错误的行,因为resources
关键字会自动生成这些常见路由(请参阅{{3更多细节)。
您的routes.rb
文件应该如下所示:
Rails.application.routes.draw do
get 'welcome/index'
resources :articles
root 'welcome#index'
end
或者,您遇到问题的路线可以改写为:
get "/articles/:id" => "articles#show"
或采用Rails API中描述的方式:
get '/articles/:id', to: 'articles#show'
答案 2 :(得分:0)
如果删除此行:
article get /articles/:id(.:format) articles#show
它应该得到错误。
此行未正确格式化,并且正在尝试使用resources :articles
行完成已完成的操作。