1

Railsは私の.js.erbファイルを認識せず、そこにあるものを単に無視します。

Advanced_search.html.erbの関連スニペット

<%= render "advanced_search_orders_form" %>

別のファイル_advanced_search_orders_form.html.erbがありますが、これは1つの小さな問題で正しく表示されます。

_advanced_search_orders_form.html.erbの関連スニペット

<form id="advancedSearchOrder" name="advancedSearchForm" value="advancedSearch" action="" class=" search line" method="GET" onsubmit="return validateAdvancedSearchForm()" >

このvalidateAdvancedSearchForm()は_advanced_search_orders_form.js.erbで定義されています が、Railsは関数が定義されていないかのように動作します。さらに、_advanced_search_orders_form.js.erbにalert( "Check")を書き込んでも、レンダリングされません。エディター(RubyMine)でさえ、この関数validateAdvancedSearchFormの定義が見つからないと言っています。

私は.js.erbファイルをまったく使用していないので、そこで何か間違ったことをしていると確信しています。ファイル名を間違って定義しましたか、それとも含める必要がありますか?ここで少し助けてくれて本当に感謝しています。

4

2 に答える 2

0

validateAdvancedSearchForm() は、assets/javascrips フォルダー内の .js ファイル (コーヒー スクリプトを使用する場合は .js.coffee) に配置する必要があります。その後、ページから使用できます。

于 2013-03-21T09:21:33.207 に答える
0

.js.erbデフォルトではレンダリングされません。あなたが書くとき

<%= render "advanced_search_orders_form" %>

これはデフォルトのテンプレート形式であるため、「_advanced_search_orders_form.html.erb」をレンダリングします。

この方法を試してください:

<%= render :file => "advanced_search_orders_form.js.erb" %>

<script></script>そのファイルのスクリプトがタグにあることを確認してください

于 2013-03-21T09:26:59.180 に答える