Rails生成控制器页面主页:帮助程序错误

时间:2016-05-04 17:33:45

标签: ruby-on-rails ruby

我对Rails很新,我正在努力开始但是遇到了问题,我已经四处搜索了,似乎很多人遇到了同样的问题,但我要么不要# 39;了解他们的解决方案或者似乎没有他们改变的文件来修复它,

我目前正在使用Windows并通过Git Bash运行所有命令,我有Ruby v2.2.4p230Rails v4.2.5.1,通过Git Bash,我刚刚运行了这些命令

cd ~/Desktop
rails new pinteresting
cd pinteresting
rails generate controller pages home
rails server

所以现在如果我去localhost3000,它给了我应用程序的基本样本布局,这很好,但后来我尝试访问页面/ home,我得到三个错误之一,

Missing helper file helpers/c:/users/acer_pc/desktop/pinteresting/app/helpers/application_helper.rb_helper.rb

Missing helper file helpers/c:/users/acer_pc/desktop/pinteresting/app/helpers/pages_helper.rb_helper.rb

Missing template pages/home, application/home with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :jbuilder]}. Searched in: * "c:/Users/Acer-PC/desktop/pinteresting/app/views"

如果有帮助,这是文件夹https://github.com/Fuledbyramen/pinteresting

3 个答案:

答案 0 :(得分:1)

我在本地主机上设置了您的项目,我可以毫无问题地访问http://localhost:3000/pages/home

你已经在routes.rb中设置了get 'pages/home'三次,一次就够了。

答案 1 :(得分:1)

感谢大家的回复,终于想出来了,就像所有其他的SO答案一样,它与文件名的大小写有关,我无法弄清楚,所以我只是直接写了to / c而不是〜/ desktop,然后在application.html.erb中将第5行和第6行中的应用程序更改为默认值并且它可以正常运行...没有丢失任何文件或者需要执行任何命令或任何事情

答案 2 :(得分:0)

您只为pages生成了控制器,并为其创建了一个名为home的操作。您还需要一些额外的步骤来填写所有功能。

有一种“快速”方式来创建整个批次:scaffold。尝试使用此命令:

rails generate scaffold pages

由于您已经创建了控制器,当它询问您是否要覆盖控制器时,您可以回答问题的“N”。您可以回答“N”以及其他任何问题,特别是如果您已经对任何文件进行了更改,那么您就不会丢失这些更改。

如果你想走很远的路,你还需要创建至少其中一些:

  • 模型
  • 移植
  • 浏览

要创建模型,您可以使用另一个类似的命令:

rails generate model pages

这将在page.rb目录中创建app/models文件。这将映射到存储每个页面详细信息的数据库表。

您还可以生成迁移以创建pages数据库表,如下所示:

rails generate migration CreatePages

您需要按照Rails迁移准则提供pages表格结构的基本详细信息,您可以找到here

最后,您需要为每个操作创建视图。这主要是当前实现中缺少的,因为生成控制器不会生成相应的视图文件。

为此,您需要在app / views / pages目录中创建一个名为home.html.erb的新文件(如果它尚不存在)。简单地拥有这个文件就足以让它超越你需要的点,但你可能想要把它放进去。让我们显示时间:

<p>At the tone, it will be: <%= DateTime.now.strftime("%Y-%m-%d %H:%M:%S") %></p>

这应该为你提供一个不错的起点,以构建你需要的其余部分。

然而,当您开始时,尝试使用脚手架发生器,直到您对所有部件的位置以及如何单独创建它们感到满意为止。并享受!