Почему рельсы разделяют мою модель с именем menuitem на menu_item, когда я запускаю generate / scaffold? Это ломает мое приложение? - PullRequest
1 голос
/ 29 мая 2009

Когда я сгенерировал каркас для класса модели с именем menuitem, он генерирует файл класса для menuitem, но в базе данных создает menu_item и ссылается на класс в представлениях и контроллере как menu_item. Это может вызывать у меня сильную головную боль, так как я генерирую новостную ссылку на шоу, но из-за ошибки мне не хватает метода. Рейк-маршруты говорят мне, что шоу-маршрут должен быть menu_menu_item, но когда я это сделаю:

 <td><%= link_to 'Show', menu_menu_item(@menu) %></td>

это не работает.

Это из-за необычного названия класса из двух слов?

Ответы [ 2 ]

3 голосов
/ 29 мая 2009

Вы должны сгенерировать либо menu_item, либо menuItem, либо MenuItem. Он не знает, где останавливается одно слово и начинается другое, если вы не скажете это.

Кроме того, для ваших link_to s вам просто нужно добавить _path:

<td><%= link_to 'Show', menu_menu_item_path(@menu) %></td>

Ну, на самом деле, это выглядит немного неправильно для меня. Похоже, вы пытаетесь перейти к одному элементу, который, я думаю, потребует от вас указать меню и элемент:

<td><%= link_to 'Show', menu_menu_item_path(@menu, @menu_item) %></td>

И ко всем пунктам меню в меню:

<td><%= link_to 'Show', menu_menu_items_path(@menu) %></td>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...