Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Ruby on Rails使用现有文件夹生成控制器_Ruby On Rails_Ruby_Ruby On Rails 3_Controller - Fatal编程技术网

Ruby on rails Ruby on Rails使用现有文件夹生成控制器

Ruby on rails Ruby on Rails使用现有文件夹生成控制器,ruby-on-rails,ruby,ruby-on-rails-3,controller,Ruby On Rails,Ruby,Ruby On Rails 3,Controller,我在这方面是个新手,我不想把我目前的申请搞砸。我目前正在研究HTML/CSS的东西,但我对如何让这些东西工作有点了解 我创建了一个新的控制器 rails generate controller sign_up 我已经在自动生成的rails的注册文件夹中创建了一个索引文件(index.html.erb)。现在我想添加更多文件,我可以通过键入来添加更多文件吗 rails generate controller sign_up send_page more_page other_pages 发送页

我在这方面是个新手,我不想把我目前的申请搞砸。我目前正在研究HTML/CSS的东西,但我对如何让这些东西工作有点了解

我创建了一个新的控制器

rails generate controller sign_up
我已经在自动生成的rails的注册文件夹中创建了一个索引文件(
index.html.erb
)。现在我想添加更多文件,我可以通过键入来添加更多文件吗

rails generate controller sign_up send_page more_page other_pages
发送页面
更多页面
其他页面
是否会自动合并到现有的
注册
文件夹中?如果我想让rails自动添加其他文件,这是添加页面的正确方法吗?我只是想让它毁掉我目前所拥有的,所以我不想自己尝试,因为我对这个还很陌生


谢谢

如果再次运行生成器,它会抱怨与现有文件冲突。然后,您必须选择覆盖(丢失对控制器等的现有更改),或者不覆盖(在这种情况下,您将无法获得新的自动生成方法等)

您只需为要添加的每个附加页面创建一个新的控制器操作和一个新视图(当然还有一个单元测试!)。如果您使用的是非标准/非restful操作名称,那么还必须编辑
config/routes.rb
来路由它们


查看示例中的名称以及对“页面”的引用,我怀疑您真正想要做的是为
send\u page
more\u page
创建单独的控制器。如果是这种情况,您应该为每个新控制器分别运行生成器。

如果再次运行生成器,它会抱怨与现有文件冲突。然后,您必须选择覆盖(丢失对控制器等的现有更改),或者不覆盖(在这种情况下,您将无法获得新的自动生成方法等)

您只需为要添加的每个附加页面创建一个新的控制器操作和一个新视图(当然还有一个单元测试!)。如果您使用的是非标准/非restful操作名称,那么还必须编辑
config/routes.rb
来路由它们


查看示例中的名称以及对“页面”的引用,我怀疑您真正想要做的是为
send\u page
more\u page
创建单独的控制器。如果是这种情况,您应该为每个新控制器分别运行生成器。

要回答您的问题:

新文件将添加到现有文件夹中,但现有文件不会合并,您必须通过在旧文件和新文件之间进行选择来解决冲突

在我看来,您正在尝试为应用程序中需要的每个操作使用生成器:


有一个示例结构很好,但是一旦开始构建真正的控制器,您就需要离开它:手动扩展控制器、模型和视图。这是你开始真正了解事情如何运作的唯一途径。

要回答你的问题:

新文件将添加到现有文件夹中,但现有文件不会合并,您必须通过在旧文件和新文件之间进行选择来解决冲突

在我看来,您正在尝试为应用程序中需要的每个操作使用生成器:


有一个示例结构很好,但是一旦开始构建真正的控制器,您就需要离开它:手动扩展控制器、模型和视图。这是开始真正了解工作原理的唯一方法。

只需在“视图”文件夹下创建一个新文件即可。无需使用生成器:)无需创建必要的工具将其输出到web浏览器中?运行rails g controller时,只需创建控制器、文件夹以及作为参数传递的任何视图文件。因此,如果您想添加一个新的操作,这很可能需要一个匹配的视图,您可以编辑控制器并在那里添加操作,然后在视图中创建一个新文件:)只需在“视图”文件夹下创建一个新文件。无需使用生成器:)无需创建必要的工具将其输出到web浏览器中?运行rails g controller时,只需创建控制器、文件夹以及作为参数传递的任何视图文件。因此,如果您想添加一个新的操作(很可能需要一个匹配的视图),您可以编辑控制器并在那里添加操作,然后在视图中创建一个新文件:)