복붙노트

[RUBY-ON-RAILS] 레일의 단수 또는 복수의 컨트롤러 및 도우미 이름

RUBY-ON-RAILS

레일의 단수 또는 복수의 컨트롤러 및 도우미 이름

컨트롤러와 도우미에 대한 단수 이름을 사용하는 불이익이 있습니까? 아무것도 이것에 의존하는 것 같다. 심지어 헬퍼 적어도 내 제한된 실험에 따라, 그에 상응하는 컨트롤러로 단수 대에 복수에 대한 같은 선택을 할 필요가 없습니다 것 같다. 그게 사실인가요?

해결법

  1. ==============================

    1.확실히 복수.

    확실히 복수.

    제어 장치:

    dog_controller.rb  
    

    경로 :

    map.resources :dogs  # => blows up  
    map.resources :dog  # is ok, but...  
    dogs_path # => blows up  
    dog_path  # => ok  
    

    제어 장치:

    dogs_controller.rb
    

    경로 :

    map.resources :dogs  
    dogs_path # => ok  
    dog_path # => ok  
    

    레일 컨트롤러 --help 복수의 실시 예를 가지고 생성 :

    Example:
    `rails generate controller CreditCards open debit credit close`
    
    CreditCards controller with URLs like /credit_cards/debit.
        Controller: app/controllers/credit_cards_controller.rb
        Test:       test/controllers/credit_cards_controller_test.rb
        Views:      app/views/credit_cards/debit.html.erb [...]
        Helper:     app/helpers/credit_cards_helper.rb
    
  2. ==============================

    2.컨트롤러에 대한 복수의 이름을 사용하면 단지 컨벤션입니다.

    컨트롤러에 대한 복수의 이름을 사용하면 단지 컨벤션입니다.

    복수의 이름은 일반적으로 (특히 특정 모델에 직접 연결되어 컨트롤러 : 사용자 -> 사용자 등) 자연 소리,하지만 당신은 당신이 원하는대로 사용할 수 있습니다.

    헬퍼에 관해서는, 모든 헬퍼는 너무 기술적으로는 전혀 문제가되지 않는 헬퍼의 이름을 어떻게 기본적으로 모든 컨트롤러에 사용할 수 있습니다. 그것은 컨트롤러와 같은 이름을 가진 도우미에서 컨트롤러의 도우미 기능을 유지하기 위해 또 다른 규칙입니다.

  3. ==============================

    3.이 사용자와 같은 단일 개체를 참조하기 때문에 모델은 단수입니다. 그것은 사용자의 컬렉션에 대한 컨트롤 (방법)이기 때문에 제어기는 복수이다. 어떻게이 이름 노선은 개별 개발자에게 모든 걸 포기이다. 나는 사용자가 웹 요청에 대한 URL이 단수 또는 복수 것을 불평을 가진 적이 없었습니다. 품질 페이지가 표시 또는 최종 사용자에 대한 API 요청을 처리하면서 최종 결과는 현재와 미래의 기여에 대한 일반적인 규칙을 유지합니다.

    이 사용자와 같은 단일 개체를 참조하기 때문에 모델은 단수입니다. 그것은 사용자의 컬렉션에 대한 컨트롤 (방법)이기 때문에 제어기는 복수이다. 어떻게이 이름 노선은 개별 개발자에게 모든 걸 포기이다. 나는 사용자가 웹 요청에 대한 URL이 단수 또는 복수 것을 불평을 가진 적이 없었습니다. 품질 페이지가 표시 또는 최종 사용자에 대한 API 요청을 처리하면서 최종 결과는 현재와 미래의 기여에 대한 일반적인 규칙을 유지합니다.

  4. ==============================

    4.당신은 레일 가이드에서 매우 자세한 설명이 있습니다 http://edgeguides.rubyonrails.org/routing.html#resource-routing-the-rails-default

    당신은 레일 가이드에서 매우 자세한 설명이 있습니다 http://edgeguides.rubyonrails.org/routing.html#resource-routing-the-rails-default

  5. ==============================

    5.그것은 그 모델의 하나 개 이상의 인스턴스가 런타임에 존재 할 수 있는지 여부를 하나의 컨트롤러가 하나 개의 모델을 처리하는 레일 규칙입니다. 그러나, 당신은 (일부) 컨트롤러 (및 관련 뷰) 특정 모델과 연관되지 않은 레일 응용 프로그램을 가질 수 있지만, 오히려 기능보다 복잡한 설정을 처리합니다. 이 경우, 자동 복수화는 이해가되지 않습니다.

    그것은 그 모델의 하나 개 이상의 인스턴스가 런타임에 존재 할 수 있는지 여부를 하나의 컨트롤러가 하나 개의 모델을 처리하는 레일 규칙입니다. 그러나, 당신은 (일부) 컨트롤러 (및 관련 뷰) 특정 모델과 연관되지 않은 레일 응용 프로그램을 가질 수 있지만, 오히려 기능보다 복잡한 설정을 처리합니다. 이 경우, 자동 복수화는 이해가되지 않습니다.

    레일즈 응용 프로그램은 내가 현재이 범주에 맞는 일하고 있어요, 그리고 레일이 한 곳에서 단일 한 후 다른 장소에서 자신의 복수 형태에서 사용되는 것과 식별자 내가 정의하는 것이 기대 단순히 나에 자극합니다. 예를 들어, 내가 설정 / routes.rb이 뭔가를 정의 할 수 있습니다 :

      resource :dashboard, :only => [:show]
    

    그리고 두 개 이상의 데이터베이스 테이블에서 정보를 수집하는 응용 프로그램의 특정 측면에 대한 표시 요약 정보에 대한 컨트롤러 DashboardController를 원한다. 그래서 여기, 대시 보드 응용 프로그램의 모델을 참조하지 않으며, DashboardsController BE 컨트롤러의 이름이 그냥 이상한 것입니다.

    나는이 대답 자동 복수화의 자극에 대한 좋은 해결책을 찾아 냈다. 즉, 편집 파일 설정 / 초기화 / inflections.rb과 단어를 추가하면 자동으로이 정의에 복수로하지 않으 :

    ActiveSupport::Inflector.inflections do |inflect|
      inflect.uncountable %w( dashboard foo bar baz )
    end
    
  6. ==============================

    6.내가 컨트롤러 이름을 단수 사용할 때 기분

    내가 컨트롤러 이름을 단수 사용할 때 기분

  7. ==============================

    7.컨트롤러가 자원 인 경우는 복수해야합니다 ...

    컨트롤러가 자원 인 경우는 복수해야합니다 ...

    예를 들면

    제어 장치

    articles_controller.rb
    

    모델

    article.rb
    

    그러나 당신은 당신이 같은 대응 모델이없는 경우 단일 컨트롤러 이름을 사용할 수 있습니다

    welcome_controller.rb
    
  8. ==============================

    8.이 엄격하게 (예를 들어와 ApplicationController)는 필요하지 않지만 레일에서 컨트롤러의 이름 지정 규칙은 컨트롤러의 이름의 마지막 단어의 복수화를 선호한다.

    이 엄격하게 (예를 들어와 ApplicationController)는 필요하지 않지만 레일에서 컨트롤러의 이름 지정 규칙은 컨트롤러의 이름의 마지막 단어의 복수화를 선호한다.

    예를 들어,이 ClientsController ClientController 것이 바람직하다 SiteAdminsController는 등 SiteAdminController 또는 SitesAdminsController하는 것이 바람직하다.

    또는 경로 :이 규칙을 따르는 것은 각을 규정 할 필요없이 기본 경로 발전기 (예를 들어, 자원 등)을 사용 할 수 있도록 컨트롤러 및 애플리케이션 전반에 걸쳐 일관성있는 URL 및 경로 도우미 '사용을 유지합니다.

    참고 : 협약 레일 문서 명명 컨트롤러

  9. ==============================

    9.사용 복수형은 더 좋은 소리, 그리고 당신은 컨트롤러가있는 경우 다음 핸들은 단수 RESOURSE, 즉 사용자, 당신은 여전히 ​​URL / 사용자 이름을 지정할 수있다.

    사용 복수형은 더 좋은 소리, 그리고 당신은 컨트롤러가있는 경우 다음 핸들은 단수 RESOURSE, 즉 사용자, 당신은 여전히 ​​URL / 사용자 이름을 지정할 수있다.

    도우미와 함께 모든 컨트롤러에 대한 도우미를 할 필요가 종종 없다, 종종 대신 예를 들어 layout_helper 또는 같은 사용자 정의 헬퍼에 넣어 수있는 도우미는 ascorss 여러 컨트롤러를 사용할 수있는 방법 및 응용 프로그램 도우미를 통해 오히려 쓰레기들을 전부가있을 것입니다 다른 잘 파일 이름.

  10. from https://stackoverflow.com/questions/646951/singular-or-plural-controller-and-helper-names-in-rails by cc-by-sa and MIT license