如何在轨道上更改ruby中的路由?

Moo*_*oon 8 routes ruby-on-rails scaffold

我刚刚安装了Ruby on Rails并创建了一个名为的脚手架posts.RoR为我生成了控制器和其他所需文件.

我创建了一个新方法posts_controller,但我无法访问它.我查看了控制器中的其他方法,看起来我需要通过它来访问它们/posts/[MY POST ID]/[MY METHOD NAME].

假设我hello在控制器中创建了自定义方法,我该如何访问它?

我看了看routes.rb,但没有配置.

更新:

我知道我可以手动配置它routes.rb,但所有其他方法如何工作?例如,我在" "控制器中有" edit"和" update"方法posts_controller.rb.如果没有配置路由,这两种方法如何工作?

  # GET /posts/1/edit
  def edit
    @post = Post.find(params[:id])
  end
Run Code Online (Sandbox Code Playgroud)

我找不到匹配/posts/[0-9]/edit模式的配置.

Jor*_*ing 9

您正在寻找的文档是来自外部的Rails路由.一旦你读完了这篇文章,你就会理解Rails做的所有事情都可以接受你的请求,并将它指向控制器中的方法.


mol*_*olf 6

您需要为其添加路线routes.rb.例如:

# Previous routes
# resources :posts

# Updated routes
resources :posts do
  get "hello", :on => :member
end
Run Code Online (Sandbox Code Playgroud)

看看这个关于路由的Rails指南,它应该可以帮助你理解Rails路由.