这是一个全新的项目。这是我运行的确切命令:
rails new MyProject
bundle install
rails generate controller Image
我添加了这一条路线:
root :to => "image#process"
我已将此功能添加到ImageController
(image_controller.rb
)
def process
render :nothing => true
end
最后我删除了默认index.html
。当我运行项目时,它有一个错误,说进程需要0参数,而不是1.所以我修改方法告诉我试图发送什么参数进行处理。
def process(arg)
p arg
render :nothing => true
end
字符串“process”被打印到屏幕上。我以前做过几个Rails项目,从未遇到过这个。我错过了某个地方吗?这是Rails 3.0.10中的新功能吗?或者可能是由Ruby 1.9.2引起的?我想我通常使用1.8.7。
答案 0 :(得分:11)
您不能将操作命名为process,这是rails控制器的内部方法,请将其命名为其他方法。
还有许多其他名称不能用于控制器操作,如渲染,参数,请求。不幸的是,没有这些东西的列表。
答案 1 :(得分:1)
为了将来参考,如果您不使用它,您可以在此处查看所有内部方法和类:ruby doc with nav on top right
在挑选名字时帮助我。