【问题标题】:Rails Generate Controller Pages Home : Helper ErrorRails 生成控制器页面主页:帮助程序错误
【发布时间】:2016-08-30 06:51:18
【问题描述】:

我对 Rails 很陌生,正在尝试开始,但遇到了问题,我四处搜索,似乎很多人都遇到过同样的问题,但我要么不明白他们的解决方案或者似乎没有他们更改的文件来修复它,

我目前正在使用 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,它会为我提供该应用程序的基本示例布局,这很好,但是我尝试访问页面/主页时遇到三个错误之一,

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

【问题讨论】:

标签: ruby-on-rails ruby


【解决方案1】:

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

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

【讨论】:

  • 是的,看起来不是文件问题,只是与 Rails 或 Ruby 无法在我的计算机及其文件上运行有关
【解决方案2】:

谢谢大家的回复,终于弄明白了,就像所有其他 SO 答案一样,它与我无法弄清楚的文件名的大写有关,所以我直接写到 / c 而不是 ~/desktop,然后在 application.html.erb 中将第 5 行和第 6 行中的应用程序更改为默认值,它可以工作...没有丢失任何文件或需要执行任何命令或任何操作

【讨论】:

    【解决方案3】:

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

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

    rails generate scaffold pages
    

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

    如果您想走得更远,您还需要至少创建其中的一些:

    • 型号
    • 迁移
    • 观看次数

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

    rails generate model pages
    

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

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

    rails generate migration CreatePages
    

    您需要提供pages 表结构的基本详细信息,遵循Rails 迁移指南,您可以找到here

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

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

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

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

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

    【讨论】:

    • 我更改了我计算机中的一些文件,但没有更改应用程序,并且它有效,看起来我不需要执行任何这些命令,非常感谢您
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-12
    • 1970-01-01
    • 2013-11-12
    • 2019-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多