Ruby on Rails的新手,所以这可能是一个愚蠢的问题。我有一个应用程序,我可以捆绑我的宝石没有问题。所以现在我想添加一些主要是静态页面。我试着为它们生成一个控制器,用rails生成控制器MostlyStatic page1 page2。这应该生成名为mostly_static的控制器和名为page1和page2的页面。相反,我会抛出一个错误。显然,generate命令正试图连接到我尚未创建的数据库。这些页面中没有任何内容应该是数据库表,所以我对这个时候为什么将数据库引入进程感到有些困惑。我已经浏览了各种教程,并且没有人说要为静态页面生成控制器需要数据库。所以......我错过了什么?我是否需要首先创建数据库才能生成静态页面?而且,如果是这样,随后将删除由该代创建的任何表损害我的应用程序的功能?我真的不想要一堆无用的表格用于静态页面。有没有办法在没有数据库的情况下生成这些页面和控制器?rails中的控制器生成问题
0
A
回答
0
对于任何人碰到这个问题磕磕绊绊,正确的答案是,数据库不需要存在,但必须正确配置,如果它没有在配置文件中。生成控制器实际上并不创建数据库。
3
您没有按照惯例生成控制器。生成控制器不会创建数据库表。您必须致电rails generate model
,rails generate resource
或rails generate scaffold
。
所以你想要一个控制器的几个静态页面。试试这个
rails generate controller static_pages home help contact
注意发生器是复数和蛇情况(static_pages)。这会产生静电控制器和home.html.erb
,help.html.erb
,并且contact.html.erb
页
现在,您可以访问这些动作的页面控制器
def home
end
def help
end
def contact
end
还需要确保路由设置
# routes.rb
match '/home', to: 'static_pages#home'
match '/help', to: 'static_pages#help'
match '/contact', to: 'static_pages#contact'
没有建立数据库,您可以访问这些页面。这就是你需要做的。只需按照约定,像复数控制器和单一模型和轨道照顾的细节。希望这可以让你开始
UPDATE
响应评论这里是产生一个控制器的标准输出。注意我的例子使用haml而不是erb,但是输出中没有任何与数据库相关的内容。
rails g controller static_pages home help contact
create app/controllers/static_pages_controller.rb
route get "static_pages/contact"
route get "static_pages/help"
route get "static_pages/home"
invoke haml
create app/views/static_pages
create app/views/static_pages/home.html.haml
create app/views/static_pages/help.html.haml
create app/views/static_pages/contact.html.haml
invoke rspec
create spec/controllers/static_pages_controller_spec.rb
create spec/views/static_pages
create spec/views/static_pages/home.html.haml_spec.rb
create spec/views/static_pages/help.html.haml_spec.rb
create spec/views/static_pages/contact.html.haml_spec.rb
invoke helper
create app/helpers/static_pages_helper.rb
invoke rspec
create spec/helpers/static_pages_helper_spec.rb
invoke assets
invoke coffee
create app/assets/javascripts/static_pages.js.coffee
invoke scss
create app/assets/stylesheets/static_pages.css.scss
相关问题
- 1. Rails的:生成的控制器语法
- 2. Rails的路由\控制器问题
- 3. ruby on rails xml生成器问题
- 4. Rails控制台的问题
- 5. Rails - 控制器命名问题
- 6. Rails控制器/路由问题
- 7. Ruby On Rails模型/控制器问题
- 8. Rails“follow”关系控制器问题
- 9. Rspec Ruby on Rails控制器问题
- 10. Rails命名空间控制器问题
- 11. Rails 3 - 避免重复生成由其他控制器生成的视图中的部分控制器代码
- 12. Rails - 如何访问控制器中初始化程序中生成的数据
- 13. Rails资源控制器中的嵌套资源访问问题
- 14. Rails应用程序生成错误:父控制器中的ID
- 15. 在控制器中生成'undefined method'image_path'的Rails旋转木马
- 16. 中继器控制问题
- 17. 生成控制器MVC C#
- 18. 从Rails控制器中的Angular post分析参数的问题
- 19. 如何在Rails 3.1.1.rc1中生成模型/控制器?
- 20. 无法在Rails 3教程中生成页面控制器
- 21. 在rails控制器中生成Set_model路径
- 22. LoadRunner的控制器问题
- 23. 在rails控制器中解决类的范围问题
- 24. Rails生成控制器页面主页:帮助器错误
- 25. Rspec 2.3的Rails 3.0.3给一些控制器访问问题?
- 26. 中继器控制中的列问题
- 27. Rails - 控制器内部的Faker gem生成假名
- 28. Rails 3为不支持表的模型生成控制器
- 29. Rails的PDF虾数据生成从控制器
- 30. Rails - 从控制器生成类似模式的“flash”
尽管我很欣赏尝试提供帮助,但您在这里所说的大部分内容并不准确。即使生成的控制器是蛇形,您也可以使用骆驼或蛇壳来生成控制器。至于尝试[代码]铁轨生成控制器static_pages家庭帮助联系[/ code],这基本上是我第一次尝试。确切地说,我仍然得到数据库错误后。我找不到任何参考文献,但在控制器之前的数据库的新版本中必须有一些规则。 –
作为我的观点的参考:骆驼案件与蛇案件,请参阅本麦克哈特尔指南3.4节,这应该是最好的。虽然我会承认在本指南中,实际上在这一部分,他说在数据库显然不工作之前生成静态页面控制器。无论如何,这里是链接。 HTTP://红宝石。railstutorial.org/chapters/static-pages#sec-static_pages –
我实际上使用该教程作为示例来向您展示如何生成静态页面。生成控制器与数据库无关。静态页面的重点在于它们不会保留数据库中的数据。它们是静态的。他们不改变。我认为你在混合控制器和模型。如果你需要一个数据库表,只需要生成一个控制器(复数)和一个同名的模型(单数)。或者用“rails生成脚手架”一步完成。我的答案中的信息没有任何问题。只是提供我的帮助,不应该被拒绝投票。 – fontno