我第一次用ruby编程,所以我正在做官方网站上的“入门”教程:
started.html
我对5.7有意见。该教程说:
如果您现在再次提交表单,Rails将抱怨找不到显示动作。但是这并不是很有用,所以让我们在继续之前添加显示动作。
然后是以下代码:
post GET /post/:id(.:format) posts#show
但我该把这些代码放哪儿呢?
谢谢!
发布于 2013-07-01 08:40:23
您所描述的是show资源路由的posts成员。它实际上不是代码,而是一种URL路由模式。通过在命令行中键入rake routes,您可以以这种方式查看所有路由。
打破路线:
post GET /posts/:id(.:format) posts#show
# `post` => named route name (available by default only to singular routes)
# `GET` => HTTP method
# `/posts/:id(.:format)` => path made accessible by route
# :id => specifies that the argument passed in as `:id` is available to the controller as `params[:id]`
# `posts#show` => controller is `posts`, action is `show`您需要创建一个相应的show控制器操作,路由将映射到:
# app/controllers/posts_controller.rb
def show
@post = Post.find(params[:id])
end发布于 2013-10-30 22:15:16
我只是遇到了同样的问题,通过本教程。对这个问题的一个更直接的回答是“不在哪里”。在本教程中,对该行的引用仅是信息性的。它的阅读方式,让你相信你应该添加它,但没有什么可补充的。只要继续阅读本教程的其余部分,一切都会好起来的。也许有一天,作者会读这篇文章并修正它。
发布于 2013-11-08 23:51:16
增加以下(粗体)一句,将使5.7中的说明更加明确:
如果您现在再次提交表单,Rails将抱怨找不到显示动作。但是这并不是很有用,所以让我们在继续之前添加显示动作。运行“rake路由”的现在会产生以下结果:
post GET /posts/:id(.:format) posts#show
https://stackoverflow.com/questions/17400313
复制相似问题