我正在遵循教程并达到了这一点:http://rubysource.com/building-your-first-rails-application-views-and-controllers/
rails generate controller urls new
我们只传递新动作的原因(而不是new,create, 和show)是因为Rails自动生成虚拟视图 生成器调用中包含的每个操作。在这种情况下,我们只想要 新动作的虚拟视图,因此我们排除其他动作。
那么为什么我们只需要为new创建控制器?有人可以稍微解释一下吗?
答案 0 :(得分:1)
这只会在控制器中创建新动作,应该跳过其他动作。
编辑: 它将在app / controllers中生成一个名为UrlsController的控制器,在该控制器中只有一个名为action的方法,它对应于一个名为 urls / new 的路径或网址
答案 1 :(得分:1)
该命令用于仅使用一种方法创建UrlsController
:new
。
此命令还将自动为您创建视图文件:
app/views/urls/new.html.erb
您是否提供了更多参数:
rails generate controller urls new create show
你会得到:
app/views/urls/new.html.erb
app/views/urls/create.html.erb
app/views/urls/show.html.erb
由于教程只需要new
视图,因此无需创建其他视图,因此这些附加参数未添加到generate
命令中。
在本教程的后面,您手动添加create
和show
方法,但是您从不为这些方法添加视图(因为这些方法在此应用程序中不需要特定的视图文件)。
所以:你所做的是用一个方法UrlsController
创建控制器new
,以及该方法的相应视图。您将在本教程后面手动编写其余方法,因此无需自动生成任何其他内容(create
或show
)。