1

Ruby on Rails で Web サイトを作成する際に、この問題が発生しました。

bundle show
* jquery-ui-rails (4.0.1)

app/assets/javascripts/application.js 内

//= require jquery.ui.datepicker

app/assets/stylesheets/application.css 内

*= require jquery.ui.datepicker

app/views/layouts/application.html.erb 内

<%= stylesheet_link_tag    "application", :media => "all" %>
<%= javascript_include_tag "application" %>

そして、somepage.html.erbで、私は

<script type="text/javascript">
$(function(){
    $("#startdate").datepicker();
    $("#enddate").datepicker();
});
</script>

それを実行すると、Chromeはそれを言います

Uncaught TypeError: Object [object Object] has no method 'datepicker'

app/views/layouts/application.html.erb に以下を追加することで問題が解決する可能性があるため、リソースが適切に参照されていないことが原因であると思われます

<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.1/themes/base/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.1/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css" />

これらはhttp://jqueryui.com/datepicker/にあります。これらのコードなしで動作する日付ピッカーを持つデモを見ました。しかし、なぜそれが私の中で機能しないのか理解できません。誰にも何か提案がありますか?上記以外に追加するものはありますか?

4

1 に答える 1

2

おそらく次のいずれかが原因です。

1) 複数の JavaScript ファイルが含まれてapplication.html.erbいるため、まとめて配置すると大混乱が発生します。

$2) jqueryが使用しているように、他のjavascriptファイルも使用しています。no method 'datepicker'2 つの同じシンボルを持つことは、jqueryを取得する原因として考えられます。

$別の方法は、のすべての出現を置き換えることですjQuery

また

次のように、jquery コードをブロック内にラップするだけです。

jQuery(function($){
    //all jQuery code which uses $ should be here.
});
于 2013-03-04T09:49:40.620 に答える