用所有RESTful函数生成一个控制器

我正试图生成一个控制器与所有的REST风格的动作。 我已经阅读链接文本 ,我所需要做的就是使用调用发电机只有一个控制器的名字,我会得到这一点。 所以,我运行“脚本/生成rspec_controller属性”,我得到一个空的控制器。

任何其他build议将不胜感激。

我不知道这样做的自动方式,但如果你这样做:

script/generate controller your_model_name_in_plural new create update edit destroy index show 

所有这些将为您创build

更新Rails 4

 rails g scaffold_controller Property 

在Rails 3中还有rails generate scaffold_controller ... 更多信息在这里 。

编辑(由于一些意见) :原来的问题是在2010年 – 因此答案是不是铁路4,但铁路2!

尝试使用脚手架。

 script/generate scaffold controller Properties 

Ruby On Rails官方文档部分

我相信你可以find更多的信息,如果你在轨道脚手架上进行谷歌search。 希望有所帮助。

编辑:对于铁路4

rails g scaffold_controller Property

你在找脚手架

尝试:

 script/generate scaffold Property 

这会给你一个控制器,一个模型,一个迁移和相关的testing。 您可以使用--skip-migration选项跳过--skip-migration 。 如果你不想要别人,你必须自己删除它们。 不要担心覆盖现有文件,除非使用--force否则不会发生。

正如klew在评论中指出的那样,这也为你定义了方法 ,而不仅仅是名字。 将REST控制器作为起点是非常有用的。

在Rails 4/5中,对我来说最合理的方式是。

 rails g scaffold_controller Property --skip-template-engine 

生成控制器操作,但不生成视图。

在Rails 4中,它是rails g controller apps new create update edit destroy show index

或者rails generate controller apps new create update edit destroy show index如果你想写出满期:)。

脚本/生成rspec_scaffold属性

有没有办法(我知道的?这是logging?)除了通过脚手架除去控制器。 但是你可以这样做:

 script/generate controller WhateverController new create edit update destroy show 

一种解决scheme是创build一个脚本,它接受一个参数,控制器名称,并让脚本为您input整个命令。


  1. 创build一个新的文件,比如说railsgcontroller
  2. 使其可执行并将其保存在path上
  3. 像这样运行它:$ railsgcontroller文章

 die () { echo "Please supply new rails controller name to generate." echo >&2 "$@" exit 1 } [ "$#" -eq 1 ] || die "1 argument required, $# provided" rails g controller "$1" new create update edit destroy show index