Pergunta

Eu sou novo para rails, mas não para programação. Eu estou tentando criar um aplicativo de gestão de processos, estou executando o comando

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

Esta multa funciona, no entanto, porque caso é uma palavra reservada Estou recebendo erros ao tentar visualizar localhost: 3000 / casos

Existe uma maneira em torno deste ou eu só tenho que usar um nome diferente?

Agradecemos antecipadamente.

Foi útil?

Solução

Existe uma maneira em torno deste ou eu só tenho que usar um nome diferente?

Existem algumas palavras que você não pode contornar (veja abaixo). Pode haver uma maneira de torno do trabalho 'case' mas você vai facilitar a vida em si mesmo, alterando o nome. Não se preocupe com as pequenas coisas - não está uma abundância de problemas reais com que se preocupar: -)

Outras palavras reservadas aqui e aqui

Boa sorte!

Outras dicas

Pense que você está indo para causar a si mesmo mais sofrimento do que vale a pena, pessoalmente, gostaria de evitar palavras reservadas, se possível.

Os erros são específicos para usando a palavra case, por isso, se você ainda quiser, você pode fazer as coisas funcionam se você alterar as exibições padrão de:

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

para:

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

Esta é uma velha questão que eu vejo, mas eu tento usar grafias alternativas de tais palavras. Neste exemplo, "Kase" poderia ser usado no backend para os casos. Outro exemplo seria a "Transação" para "transações".

Como para lidar com isso no front-end, o suporte embutido i18n ( http: //guides.rubyonrails .org / i18n.html ) pode facilitar as coisas. Por exemplo:

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

Além disso, eu acredito que há truques que você pode usar no arquivo de rotas para modificar as URLs usadas, mas eu não testei nada disso antes.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top