Ruby on rails 更好地理解Rails中的脚手架
我读过rails指南,但有些事情我自己做的时候还是不明白 例如,为什么在本地主机上访问show视图时会出现错误?脚手架在我的控制器中创建了一个显示动作,该动作是空的,并且是一个视图,但仍然会收到一条错误消息 类似的事情也发生在索引上 搭建脚手架的目的不是为了帮助你完成这一切吗?我假设如果我写了几篇文章,索引操作会把我带到所有文章的索引中,但它并没有相反地把它们全部列出。脚手架这样做背后的逻辑是什么 编辑::: 这是我收到的错误消息:Ruby on rails 更好地理解Rails中的脚手架,ruby-on-rails,ruby-on-rails-3,scaffolding,Ruby On Rails,Ruby On Rails 3,Scaffolding,我读过rails指南,但有些事情我自己做的时候还是不明白 例如,为什么在本地主机上访问show视图时会出现错误?脚手架在我的控制器中创建了一个显示动作,该动作是空的,并且是一个视图,但仍然会收到一条错误消息 类似的事情也发生在索引上 搭建脚手架的目的不是为了帮助你完成这一切吗?我假设如果我写了几篇文章,索引操作会把我带到所有文章的索引中,但它并没有相反地把它们全部列出。脚手架这样做背后的逻辑是什么 编辑::: 这是我收到的错误消息: ActiveRecord::RecordNotFound in
ActiveRecord::RecordNotFound in ExperimentsController#show
Couldn't find Experiment with id=index
当我访问
http://localhost:3000/experiments/index
对于一个简单的脚手架任务,假设您遵循了,您应该永远不会得到任何错误,但即使您得到了错误,我猜这将是一个简单的打字错误或挂起的迁移类型的错误(快速谷歌搜索应该解决这一问题)
脚手架旨在推动和增加应用程序的快速原型制作,但不会为您完成打孔工作
我记得不久前和你一样感到困惑,我也看错了方向,试图弄清楚脚手架做了什么,而我本应该看一下Rails模板系统是如何工作的,这是学习基础知识后的下一步
从指南开始,完全理解rails的工作原理需要一些时间 您正在错误地访问路由。 要访问索引页面:您需要url
http://localhost:3000/experiments
指定url时:http://localhost:3000/experiments/index
,Rails将它与显示页面的路径匹配(如下所示):/experiments/:id
如果仔细阅读错误:
ActiveRecord::RecordNotFound in ExperimentsController#show
找不到id=index的实验
Rails将url映射到show
action,并试图找到一个显然不存在的id=index
的实验,您会得到一个错误
在命令提示符下运行rake routes
,您将看到为resourceexperiment
创建的路由,如下所示:
/experiments index display a list of all experiments
GET /experiments/new new return an HTML form for creating a new experiment
POST /experiments create create a new experiment
GET /experiments/:id show display a specific experiment
GET /experiments/:id/edit edit returns an HTML form for editing an experiments
PATCH/PUT /experiments/:id update update a specific experiment
DELETE /experiments/:id destroy delete a specific experiment
您可以使用上面显示的路径访问特定路由。
将:id
替换为现有的实验
记录id
属性值
例如:
查看id为5
访问http://localhost:3000/experiments/5
注意:我强烈建议您仔细阅读本指南,更好地了解路由的工作原理。这里的问题是什么?在生成脚手架后访问我的/show&/index时,我为什么会出现错误…发布您的代码和您遇到的错误。我们无法帮助您!更新了我的错误代码,谢谢!