在脚手架中使用保留的rails word

时间:2010-02-11 11:25:43

标签: ruby-on-rails scaffolding reserved-words

我是rails的新手,但不是编程。我正在尝试创建一个Case Management应用程序,我正在运行命令

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

这很好用,但是因为Case是一个保留字我在尝试查看localhost时遇到错误:3000 /例

是否还有这个或我是否只需要使用其他名称?

提前致谢。

3 个答案:

答案 0 :(得分:3)

  

是否还有这个或我是否只需要使用其他名称?

有些词你无法解决(见下文)。可能有办法解决'案例',但你可以通过更改名称让自己的生活更轻松。不要为小东西出汗 - 担心有很多真正的问题: - )

其他保留字herehere

祝你好运!

答案 1 :(得分:2)

认为你会让自己更加悲伤而不是值得,我个人会尽量避免使用保留词。

错误特定于使用单词case,因此,如果您仍然希望如此,那么如果您更改默认视图,则可以使其有效:

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

为:

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

答案 2 :(得分:1)

这是我看到的一个老问题,但我尝试使用这些单词的替代拼写。在这个例子中,“Kase”可以在后端用于案例。另一个例子是“交易”的“Transaktion”。

至于在前端处理此问题,内置的i18n支持(http://guides.rubyonrails.org/i18n.html)可能会使事情变得更容易。例如:

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

另外,我相信你可以在路径文件中使用一些技巧来修改所使用的URL,但我之前没有测试过任何这些。