config/app.rb中有一行 Padrino.mount('Demo::App', :app_file => Padrino.root('app/app.rb')).to('/')
比如访问http://localhost:3000 这个地址貌似代码要放在 app.rb 中? 但是我想创建一个如IndexController#index这样的方法,这个如何改呢?
我看 robbin 的代码 Padrino.mount('RobbinSite').to('/') 这个 RobbinSite 哪来的呢?
app/app.rb
#2 楼 @reyesyang ?
https://github.com/robbin/robbin_site/blob/master/app/app.rb
#4 楼 @reyesyang 我看这个文件是 class RobbinSite < Padrino::Application 开始的, 我项目生成的却是 module Demo class App < Padrino::Application 是版本不同生成的代码不同?
那就是一个普通的 ruby 类名,你可以改,只要在 config/apps.rb 中 mount 时指定正确就可以了。
config/apps.rb
#6 楼 @reyesyang OK..再问下,如何让访问首页是直接定位到 Controller 中的方法呢?
你看下这个 controller: https://github.com/robbin/robbin_site/blob/master/app/controllers/home.rb
就是你想要的,直接定位到根路径的。
秘诀就是这行:
RobbinSite.controllers do
不要定义 controllers 的命名空间,就会直接定位到根路径
get :index do @blogs = Blog.order('id DESC').page(params[:page]) render 'home/index' end
这个方法就是访问整个网站首页。
#8 楼 @robbin 原来如此,其实就是把 Demo::App.controllers index do ... end 中的 index 拿掉,呵呵,谢了!
http://www.padrinorb.com/guides/blog-tutorial#comment-126214233
#9 楼 @yfeng4r 带命名空间的可以这么搞:https://github.com/hooopo/blog_padrino/blob/master/app/app.rb#L27-L31