2012-08-05 22 views
9

Chcę utworzyć model o nazwie "Plik", ale jest to zastrzeżona nazwa modelu to szyny. Nie mogę wymyślić nic innego rozsądnego, aby nazwać model, więc zastanawiałem się, czy istnieje standardowy sposób radzenia sobie z tym problemem, na przykład dodając przedrostek lub przyrostek (_File, FileItem, itp.)?Modele z zastrzeżonymi słowami kluczowymi

Odpowiedz

8

Ten problem jest skierowana z modules:

Moduły są sposobem na grupowanie metod, klas, a stałe. Moduły dają dwie główne korzyści:

  1. Moduły zapewniają przestrzeń nazw i zapobiegają konfliktom nazw.
  2. Moduły wdrażają obiekt mixin.

[...]

Moduły zdefiniowanie nazw, piaskownica, w której wasze metody i stałe mogą grać bez konieczności martwienia się o ich nadepnięcie przez innych metod i stałych.

W twoim przypadku:

module MyRailsApp 
    class File 
    ... 
    end 
end 

przy czym klasa File służy jako MyRailsApp::File. Jest to typowe rozwiązanie w Ruby, Ruby on Rails to może być traktowane inaczej, proszę zobaczyć następujące odniesienia do dogłębnej dyskusji:

+0

Jak umieścić model w moduł w szynach? –

+0

@CameronMartin Nie różni się od umieszczenia klasy w module. –

+0

Możesz tworzyć modele w modułach, wykonując 'rails generate model nazwa_modelu/modelname' right? Czy lepiej umieścić wszystkie modele w module lub wybrać nazwę, która nie powoduje konfliktów? –

Powiązane problemy