好的总菜鸟,试图找出发生了什么,但我还没有看到这个我想到的任何其他人。
我第二次使用rails进行非常基本的博客教程。为它做了家庭控制器和索引视图。都好。接下来,我使用基本类创建了“posts”控制器,然后查看了index,edit,new和show的视图。
class PostsController < ApplicationController
def index
end
def new
end
def create
end
def edit
end
def update
end
def show
end
def destroy
end
end
各自文件中视图的html
<h1>New Posts</h1>
<h1>Edit Posts</h1>
<h1>Show Posts</h1>
问题:在浏览器中,当我转到localhost:3000 / posts / edit时,它会显示“Show Posts”而不是“Edit Posts”。 / show还显示“显示帖子”。 / new工作正常并显示“新帖子”。
我检查过它看起来像localhost:3000 / posts / literallyanything会显示“显示帖子”。
我知道这是马铃薯水平,但我认为它真的很奇怪,无法弄清楚为什么会发生这种情况
答案 0 :(得分:2)
假设您的路由文件中定义的帖子的资源路由如下:
resources :posts
你需要点击
localhost:3000/posts/<post id>/edit
有关路由的更多文档: http://guides.rubyonrails.org/routing.html
你总是可以从你的终端运行rake:routes路线,找出你需要为任何给定的控制器动作命中的路线。