0

コントローラーにformat.jsを追加しましたが、インデックスページを表示したときにindex.js.erbのjsを実行できません。私が理解できる唯一のことは、それがモデル名のためであるに違いないということです。追加しなければなりませんでした

ActiveSupport::Inflector.inflections do |inflect|
  inflect.irregular 'business', 'businesses'
end

私のモデルはBusinessと呼ばれているので...私のinflections.rbファイルに。

私のviews/jsはviews/businesss/*にあります

髪を抜く前に助けてください!

index.js.erbファイルにあるのは次のとおりです。

alert(1);

明らかに目標は、問題が最終的に修正されたときにアラートを受け取り、問題が機能していることを通知することです。

4

2 に答える 2

3

インデックスページをどのように呼んでいますか?ブラウザからインデックスページにアクセスしても、レンダリングされませんindex.js。これが、フォーマットの使用の背後にある全体的なポイントです。javascript(ajax呼び出しのようなもの)を使用してインデックスメソッドを呼び出す必要があります。あなたのモデル名はそれとは何の関係もありません。

于 2012-11-23T06:13:39.783 に答える
0

Javascriptの実行は、モデル名とは何の関係もありません。また、コントローラーまたはモデルの名前に基づいてJSファイルを含めることもありません。アセットパイプラインを使用している場合は、次のものが必要です。

index.jsが/assets/javascripts/index.jsにあると仮定して、以下を/app/assets/javascripts/application.jsに追加します

//= require ./index

これがどのように機能するかを理解していない場合は、アセットパイプラインのRuby on Railsガイド(http://guides.rubyonrails.org/asset_pipeline.html )を参照することをお勧めします。

ちなみに、語尾変化の使用法では、Railsのようなフレームワークを使用する場合は、それに付属する規則を試して使用することをお勧めします。それは将来あなたの心の痛みを救うでしょう。テーブルにビジネスと呼ばれるように、モデルビジネスに名前を付けます。あなたが本当にこのようなものが欲しいのでなければ:

has_one :businesses
于 2012-11-23T04:57:42.653 に答える