0

Railsは初めてですが、プログラミングは初めてです。ケース管理アプリを作成しようとしています。コマンドを実行しています

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

これは問題なく動作しますが、Case は予約語であるため、localhost:3000/Cases を表示しようとするとエラーが発生します

とにかくこれについてはありますか、それとも別の名前を使用する必要がありますか?

前もって感謝します。

4

3 に答える 3

3

とにかくこれについてはありますか、それとも別の名前を使用する必要がありますか?

回避できない単語がいくつかあります (以下を参照)。「ケース」を回避する方法があるかもしれませんが、名前を変更することで自分の人生を楽にすることができます。小さなことを気にしないでください - 心配すべき本当の問題はたくさんあります:-)

その他の予約語はこちらこちら

幸運を!

于 2010-02-11T11:31:38.817 に答える
2

価値がある以上に自分を悲しませることになると思います。個人的には、予約語はできるだけ避けたいと思います。

エラーは単語の使用に固有のものcaseであるため、それでも必要な場合は、デフォルトのビューを次のように変更すると機能します。

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

に:

<% @cases.each do |c| %>
<tr>
<td><%=h c.casename %></td>
…
于 2010-02-11T11:35:56.483 に答える
1

これは私が見る古い質問ですが、私はそのような単語の別のスペルを使用しようとします。この例では、ケースのバックエンドで「Kase」を使用できます。もう1つの例は、「トランザクション」の「トランザクション」です。

フロントエンドでこれを処理することに関しては、組み込みのi18nサポート(http://guides.rubyonrails.org/i18n.html)によって作業が簡単になる場合があります。例えば:

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

また、routesファイルで使用するURLを変更するためのトリックがあると思いますが、これまでテストしたことはありません。

于 2011-03-11T14:32:59.477 に答える