Rails 不生成 html.erb
Posted
技术标签:
【中文标题】Rails 不生成 html.erb【英文标题】:Rails do not generate html.erb 【发布时间】:2019-04-27 08:15:40 【问题描述】:遵循 4.2 中的说明https://guides.rubyonrails.org/getting_started.html
使用命令“rails generate controller Welcome index”后 缺少 app/views/welcome/index.html.erb
红宝石 2.5.5p157 导轨 5.2.3
我的输出:
rails generate controller Welcome index
create app/controllers/welcome_controller.rb
route get 'welcome/index'
invoke test_unit
create test/controllers/welcome_controller_test.rb
【问题讨论】:
有什么理由不想使用最新版本?我能准确地知道你的 ruby 和 rails 版本吗? ruby 2.5.5p157 Rails 5.2.3 您在问题中提到了 Rails 4.2.x。您是否刚刚切换到 Rails 5.2.3,但仍然面临问题? 4.2 是 Rails 入门指南中的索引点... 你可以试试bundle exec rails generate controller Welcome index
或bin/rails generate controller Welcome index
吗?
【参考方案1】:
首先,如果您是从 Rails 开始的,我建议您不要违背框架已经为您制定的约定。
其次,如果您想要没有数据库连接且仅用于静态 UI 的欢迎,您可以执行以下操作:
$ rails generate controller Welcome index
这将在您的项目的 app/views/welcome/ 内创建一个 pages 文件夹,其中包含用于索引的 .erb 模板。
更多信息:http://guides.rubyonrails.org/layouts_and_rendering.html
希望对你有帮助!
【讨论】:
这正是他们所做的,但它没有起作用,据说(我也认为它应该起作用。在应用程序设置中配置错误的视图生成器或类似的东西?)【参考方案2】:这就是你得到的所有输出吗?
这是我的:
rails g controller Welcome index [ruby-2.6.2@CRC_alpha_blog]
Running via Spring preloader in process 8696
create app/controllers/welcome_controller.rb
route get 'welcome/index'
invoke erb
create app/views/welcome
create app/views/welcome/index.html.erb
invoke test_unit
create test/controllers/welcome_controller_test.rb
invoke helper
create app/helpers/welcome_helper.rb
invoke test_unit
invoke assets
invoke coffee
create app/assets/javascripts/welcome.coffee
invoke scss
create app/assets/stylesheets/welcome.scss
helper
和 assets
呢?
编辑: 正如@imechemi 建议的那样,如果您运行以下命令,输出是什么?:
gem list actionview
*** LOCAL GEMS ***
actionview (5.2.3)
顺便说一句,虽然 Rails 指南非常适合作为参考,但如果您从头开始学习 Rails,我建议您遵循 Michael Hartl 的 Rails tutorial。
【讨论】:
我得到的只是我的第一篇文章。我正在做的就是遵循官方 Rails 网站上的入门指南....以上是关于Rails 不生成 html.erb的主要内容,如果未能解决你的问题,请参考以下文章