我刚接触Ruby on Rails,已经完成了博客教程。
现在我正在尝试向控制器添加一个名为“start”的额外操作。
def start
end
我添加了一个视图页 "app/views/posts/start.html.erb",其中只包含简单的 html。
当我访问 /posts/start 时,会出现以下错误。
ActiveRecord::RecordNotFound in PostsController#show
Couldn't find Post with ID=start
我理解这个错误,show操作正在执行,而start不是一个有效的ID。为什么start操作没有被执行?我是否错过了MVC架构或配置中的某些部分?
以下是我的posts_controller.rb文件:
class PostsController < ApplicationController
# GET /posts/start
def start
end
# GET /posts
# GET /posts.xml
def index
@posts = Post.find(:all)
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @posts }
end
end
# GET /posts/1
# GET /posts/1.xml
def show
@post = Post.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @post }
end
end
end
是的,我已经重新启动服务器,并尝试使用 Mongrel 和 Webrick。