我的问题是如何在rails中创建嵌套的静态页面?我是Ruby on Rails的新手,“自学成才”,一直在寻找这个答案。任何帮助将不胜感激,谢谢。
例如:
目录结构:
应用程序/视图/静态/船舶/类型-的-船
当前静态控制器
类StaticController< ApplicationController的 def show 渲染参数[:pages] 结束 端
的路线
获取“/:pages”=> “静态#秀”
答案 0 :(得分:4)
如果你想在Rails应用程序中创建静态页面,我会查看一些资源。
上面的最后一个链接实际上是静态页面的首选,所以我将解决有关嵌套问题的更具体的部分。
如果要将URL映射到控制器操作(和视图),只需将其添加到路径文件中即可。如果您希望将其命名为命名空间,则只需在:pages
符号前面添加名称空间,该名称空间将传递特定的发货名称。
get "ships/:pages" => "static#show"
# so going to www.example.com/ships/titanic
# will show your app/view/static/ships/titanic.html.erb page
或者,thinkbot创建了一个名为high_voltage的gem来处理一些设置。我没有用它,但值得一看。
根据您的路线条目,我会提醒您它可能会产生意想不到的后果,因为如果有人输入的路线与您拥有的文件不匹配,则会产生错误。
如果你走这条路,我建议你阅读一条全能路线。你可以:
或者您认为对您的用户最有帮助的任何其他内容。
再一次,有一些警告,因为这会捕获所有错误并忽略其他项目,例如rails引擎(根据我的理解)。
我可以根据您在评论中的答案修改此部分,但您似乎想要在此类别中添加大量页面。
由于这些都是船只,我认为它们周围有相似的数据点,您可以将这些信息保存在数据库中,只需创建一个Ship脚架来管理它,就像普通的Rails项目一样。
这将允许您:
#show
页面