【问题标题】:Ruby on rails.Generating controllerRuby on rails.Generating 控制器
【发布时间】:2021-01-10 00:07:49
【问题描述】:

为什么当我写rails generate controller home index时 index.html.erb 文件没有在views文件夹中创建?当我运行rails server 并想观看http://127.0.0.1:3000/home/index 终端输出时。

于 2021-01-10 01:54:30 +0200 开始为 127.0.0.1 获取“/home/index” 由 HomeController#index 处理为 HTML Completed 204 No Content in 0ms (ActiveRecord: 0.0ms | Allocations: 60)

【问题讨论】:

标签: ruby-on-rails ruby


【解决方案1】:

当我检查错误日志时,我看到HomeController#index,我希望你先检查rails routes。你应该会看到类似这样的结果:

Prefix      Verb   URI Pattern            Controller#Action

home_index  GET    /home/index(.:format)  home#index
...

如果您看到的是 homecontroller#index 而不是 home#index,您可以通过转到相关的 URI 模式来访问。

您可以控制在运行rails generate 命令时创建哪些文件。这是一个示例输出:

➜ rails g controller home index    
Running via Spring preloader in process 1934
      create  app/controllers/home_controller.rb
       route  get 'home/index'
      invoke  erb
      create    app/views/home
      create    app/views/home/index.html.erb
      invoke  helper
      create    app/helpers/home_helper.rb
      invoke  assets
      invoke    scss
      create      app/assets/stylesheets/home.scss

如您所见,有一个文件 app/views/home/index.html.erb 确保它不为空。比如<p>Home</p>在这个文件中,如果它是空的。

我希望它足够清楚,我认为这会解决你的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多