Grails 中的脚手架出现 404 错误
Posted
技术标签:
【中文标题】Grails 中的脚手架出现 404 错误【英文标题】:404 error with scaffolding in Grails 【发布时间】:2013-11-06 01:04:53 【问题描述】:我试图按照 Grails In Action (http://www.manning.com/gsmith2/GiA2E_meap_ch01.pdf) 中的分步说明以及第 1.5.1 节第 1.5.1 页中解释的脚手架。 21-23 似乎不适合我。
我按照建议在QuoteController.groovy
中添加了static scaffold = true
。然后 grails run-app,当我前往 localhost:8080/qotd/quote/<b>list</b>
时,我得到一个 404 错误(而不是 pdf 中的图 1.11),如下所示:
HTTP Status 404 - /qotd/quote/list
type Status report
message /qotd/quote/list
description The requested resource is not available.
Apache Tomcat/7.0.42
这里是QuoteController.groovy
:
但是,转到localhost:8080/qotd/quote/<b>create</b>
工作正常(与 pdf 中的图 1.12 匹配),我可以创建新报价。
我使用的版本是:应用版本: 0.1Grails 版本: 2.3.1Groovy 版本: 2.1.8JVM 版本: 1.7.0_45
这是 Grails 中的错误还是我遗漏了什么?
我是 Groovy 和 Grails 的新手,非常感谢任何帮助。 谢谢!
【问题讨论】:
【参考方案1】:由于某种原因,列表操作已被删除。请改用索引。
【讨论】:
非常感谢您的即时反馈(这对像我这样的新手非常有帮助)。我也在 Git 上提出了这个问题,解决方案正是你提到的。这是其他面临相同问题的人的 Git 链接github.com/GrailsInAction/graina2/issues/54【参考方案2】:现在版本 2.4.2 有更多变化。 以下 url 解释了脚手架是如何移动到插件模型的:
http://grails.org/doc/latest/guide/scaffolding.html
“从 Grails 2.3 开始,脚手架功能已移至插件中。默认情况下,此配置为安装在新应用程序中,但如果您是从先前版本的 Grails 升级,则需要将以下配置添加到你的 BuildConfig.groovy 文件..."
所以,在plugins
部分内添加这一行:
compile ":scaffolding:2.0.0"
此外,如果数据库仍然为空,请使用“创建”操作将数据强制输入数据库。 例如:
localhost:8080/myapp/mycont/create
然后试试看能不能加载:
localhost:8080/myapp/mycont/show/1
替换:
myapp --> with your application name (used in 'grails create-app')
mycont --> your controller name (used in 'grails create-controller')
【讨论】:
以上是关于Grails 中的脚手架出现 404 错误的主要内容,如果未能解决你的问题,请参考以下文章