использовать зарезервированные рельсы слово в лесах - PullRequest
0 голосов
/ 11 февраля 2010

Я новичок в рельсах, но не в программировании. Я пытаюсь создать приложение Case Management, я запускаю команду

ruby script/generate scaffold Case casename:string caseid:string

Это работает нормально, однако, поскольку Case - зарезервированное слово, я получаю ошибки при попытке просмотреть localhost: 3000 / Cases

Есть ли что-нибудь вокруг этого или мне просто нужно использовать другое имя?

Заранее спасибо.

Ответы [ 3 ]

3 голосов
/ 11 февраля 2010

Есть ли что-нибудь вокруг этого или мне просто нужно использовать другое имя?

Есть некоторые слова, которые вы не можете обойти (см. Ниже). Может быть способ обойти «дело», но вы сделаете жизнь проще, изменив имя. Не парься по мелочам - есть много реальных проблем, о которых нужно беспокоиться: -)

Другие зарезервированные слова здесь и здесь

Удачи!

2 голосов
/ 11 февраля 2010

Думаю, ты собираешься причинить себе больше горя, чем стоит, лично я бы избегал зарезервированных слов, если это вообще возможно.

Ошибки связаны с использованием слова case, поэтому, если вы все еще хотите, вы можете заставить вещи работать, если вы измените представления по умолчанию из:

<% @cases.each do |case| %>
<tr>
<td><%=h case.casename %></td>
…

до:

<% @cases.each do |c| %>
<tr>
<td><%=h c.casename %></td>
…
1 голос
/ 11 марта 2011

Это старый вопрос, который я вижу, но я пытаюсь использовать альтернативные варианты написания таких слов. В этом примере «Kase» может быть использован на бэкэнде для случаев. Другим примером может быть «Трансакция» для «транзакций».

Что касается обработки на внешнем интерфейсе, встроенная поддержка i18n (http://guides.rubyonrails.org/i18n.html) может упростить задачу. Например:

# /config/locales/en.yml
en:      
  helpers:
    label:
      kase:
        name: "Case name"

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...