2010-02-11 53 views
0

我是新來的rails,但不是編程。我試圖創建一個案例管理應用程序,我運行命令在腳手架中使用保留的導軌字

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

這工作得很好,但是因爲情況是保留字,試圖查看本地主機時遇到錯誤:3000 /案例

反正有沒有,或者我只需要使用不同的名稱?

在此先感謝。

+0

案例是一個保留字?你確定?也許你的路線有問題。你得到什麼樣的錯誤? – klew 2010-02-11 11:33:53

+0

'案件'不是,'案件'是。所以它可能會拋出如下錯誤: '語法錯誤,意想不到的'|',期望KELSE或kWHEN'渲染/案例路線。 重命名是唯一值得的選擇。 – Swanand 2010-02-11 12:00:41

回答

3

反正有沒有,還是我只需要使用不同的名字?

有些詞你無法解決(見下文)。可能有辦法解決'案件'問題,但通過更改名稱可以讓自己更輕鬆。不出汗的小東西 - 有正有大量的實際問題擔心:-)

保留字herehere

祝你好運!

2

認爲你會讓自己更悲傷,而不是值得,個人而言,我會盡可能避免保留字。

的錯誤是具體地用文字case,所以如果你仍然想,你才能把事情如果從改變默認視圖的工作:

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

到:

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

這是我看到的一個老問題,但我嘗試使用這些詞的替代拼寫。在這個例子中,「Kase」可以用於後端。另一個例子是「交易」的「Transaktion」。

至於在前端處理這個問題,內置的i18n支持(http://guides.rubyonrails.org/i18n.html)可能會讓事情變得更容易。例如:

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

而且,我相信,有您可以在路由文件中使用修改使用的URL招數,但我沒有測試過任何這一點。

+0

在您的網站的前端爲特定類的對象使用不同名稱的i18n功能:http://guides.rubyonrails.org/i18n.html#translations-for-active-record-models – robertwbradford 2011-03-22 15:22:55