我是Ruby on Rails的新手,我已经完成了博客教程 。 我现在试图添加一个额外的动作到控制器,称为“开始”。 def start end 我添加了一个视图页面“app / views / posts / start.html.erb”,只包含简单的html。 当我去/ posts / start我得到以下错误。 ActiveRecord::RecordNotFound in PostsController#show Couldn't find Post with ID=start 我明白错误,显示操作正在执行,并且启动不是有效的ID。 为什么启动操作不能执行,是否有一部分MVC架构或configuration丢失? 以下是我的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 […]
我想我的url使用短划线-而不是下划线_作为单词分隔符。 例如controller/my-action而不是controller/my_action 。 我对两件事感到惊讶: Google等人。 继续区分它们。 Ruby on Rails在路由中没有一个简单的全局configuration参数来映射到_ 。 还是呢? 我最好的解决scheme是使用:as或命名的路线。 我的想法是修改Rails路由来检查该全局configuration,并在调度到控制器操作之前更改为_ 。 有没有更好的办法?