Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RubyonRails:What';这是命名嵌套控制器和视图的正确方法_Ruby On Rails - Fatal编程技术网

Ruby on rails RubyonRails:What';这是命名嵌套控制器和视图的正确方法

Ruby on rails RubyonRails:What';这是命名嵌套控制器和视图的正确方法,ruby-on-rails,Ruby On Rails,你可能会觉得这是个愚蠢的问题。但对于我这个初学者来说,这是非常需要的 我使用scaffold创建了一些控制器,这是命名嵌套资源的正确方法 rails g脚手架计划/事件 输出: models/schedule.rb models/schedule/event.rb 控制器/时间表/事件\u controllers.rb 视图/时间表/活动/ 或rails d脚手架计划/事件 models/schedules.rb 模型/时间表/event.rb 控制器/计划/事件\u controller

你可能会觉得这是个愚蠢的问题。但对于我这个初学者来说,这是非常需要的

我使用scaffold创建了一些控制器,这是命名嵌套资源的正确方法
rails g脚手架计划/事件
输出:

  • models/schedule.rb
  • models/schedule/event.rb
  • 控制器/时间表/事件\u controllers.rb
  • 视图/时间表/活动/
rails d脚手架计划/事件

  • models/schedules.rb
  • 模型/时间表/event.rb
  • 控制器/计划/事件\u controllers.rb
  • 视图/时间表/事件/

谢谢,如果你能给我一些参考资料以及为什么要在这两者之间选择一个答案,那将很有帮助:)

据我所知,名称空间的多样性并不重要,所以从技术上讲,两者都是正确的


schedules/event
读起来更像是传统的Rails路线,所以我个人建议这样做。但我认为它不应该影响应用程序的任何功能方面。

据我所知,名称空间的多样性并不重要,因此两者在技术上都是正确的


schedules/event
读起来更像是传统的Rails路线,所以我个人建议这样做。但我认为它不应该影响应用程序的任何功能方面。

型号名称必须始终是单数,复数。否则,在路由时可能会遇到问题。另外,在您的问题中,
rails g scaffold schedule/event
的输出应该类似于:

❯ rails g scaffold schedule/event
Running via Spring preloader in process 1938
      invoke  active_record
      create    db/migrate/20180704090256_create_schedule_events.rb
      create    app/models/schedule/event.rb
      create    app/models/schedule.rb
      invoke    test_unit
      create      test/models/schedule/event_test.rb
      create      test/fixtures/schedule/events.yml
      invoke  resource_route
       route    namespace :schedule do
    resources :events
  end
      invoke  scaffold_controller
      create    app/controllers/schedule/events_controller.rb
      invoke    erb
      create      app/views/schedule/events
      create      app/views/schedule/events/index.html.erb
      create      app/views/schedule/events/edit.html.erb
      create      app/views/schedule/events/show.html.erb
      create      app/views/schedule/events/new.html.erb
      create      app/views/schedule/events/_form.html.erb
      invoke    test_unit
      create      test/controllers/schedule/events_controller_test.rb
      invoke    helper
      create      app/helpers/schedule/events_helper.rb
      invoke      test_unit
      invoke    jbuilder
      create      app/views/schedule/events/index.json.jbuilder
      create      app/views/schedule/events/show.json.jbuilder
      create      app/views/schedule/events/_schedule_event.json.jbuilder
      invoke  assets
      invoke    coffee
      create      app/assets/javascripts/schedule/events.coffee
      invoke    scss
      create      app/assets/stylesheets/schedule/events.scss
      invoke  scss
      create    app/assets/stylesheets/scaffolds.scss
注意
app/controllers/schedule/events\u controller.rb
以及实体名称的复数形式

Rails使用屈折符生成复数形式,如果您跳过此过程,某些事情可能不会如您所期望的那样工作

作为一般规则,脚手架搭建时始终使用单数


型号名称必须始终为单数,而不是复数。否则,在路由时可能会遇到问题。另外,在您的问题中,
rails g scaffold schedule/event
的输出应该类似于:

❯ rails g scaffold schedule/event
Running via Spring preloader in process 1938
      invoke  active_record
      create    db/migrate/20180704090256_create_schedule_events.rb
      create    app/models/schedule/event.rb
      create    app/models/schedule.rb
      invoke    test_unit
      create      test/models/schedule/event_test.rb
      create      test/fixtures/schedule/events.yml
      invoke  resource_route
       route    namespace :schedule do
    resources :events
  end
      invoke  scaffold_controller
      create    app/controllers/schedule/events_controller.rb
      invoke    erb
      create      app/views/schedule/events
      create      app/views/schedule/events/index.html.erb
      create      app/views/schedule/events/edit.html.erb
      create      app/views/schedule/events/show.html.erb
      create      app/views/schedule/events/new.html.erb
      create      app/views/schedule/events/_form.html.erb
      invoke    test_unit
      create      test/controllers/schedule/events_controller_test.rb
      invoke    helper
      create      app/helpers/schedule/events_helper.rb
      invoke      test_unit
      invoke    jbuilder
      create      app/views/schedule/events/index.json.jbuilder
      create      app/views/schedule/events/show.json.jbuilder
      create      app/views/schedule/events/_schedule_event.json.jbuilder
      invoke  assets
      invoke    coffee
      create      app/assets/javascripts/schedule/events.coffee
      invoke    scss
      create      app/assets/stylesheets/schedule/events.scss
      invoke  scss
      create    app/assets/stylesheets/scaffolds.scss
注意
app/controllers/schedule/events\u controller.rb
以及实体名称的复数形式

Rails使用屈折符生成复数形式,如果您跳过此过程,某些事情可能不会如您所期望的那样工作

作为一般规则,脚手架搭建时始终使用单数


谢谢,先生。我认为ROR对名称空间有自己的命名配置。谢谢,先生。我认为ROR对名称空间有自己的命名配置。