1

Rails 3 に慣れてきたばかりです。最新のスピードバンプは、js.rjs ファイルで使用するプロトタイプ ヘルパーに関するものです。私の Rails 2 アプリのいくつかでは、jquery を優先してプロトタイプを捨てました。それがここで行ったことです。ヘルパーを取得するために、たとえばpage.replacepage.replace_htmlバック、機能を複製するjrailsプラグインを使用しましたが、プロトタイプの代わりにjqueryを使用しました(または少なくともそれが私の理解でした)。

私はおもちゃの Rails 3 アプリでプロトタイプの代わりに jquery を使用していますが、同じ問題に遭遇しました: page.replace ヘルパーが機能しません:

私はこのコードを持っていますupdate.js.rjs:

page.alert "posted"
page.replace "tweets", :partial => "twitter/tweets"

これにより、2行目からこのエラーが発生します(アラートは正常に実行されます):

RJS error: TypeError: Element.replace is not a function

jrails プラグインを再度インストールする必要がありますか? または、最近は別の解決策がありますか?

どんな考えにも感謝します - マックス

編集 - コードを js.rjs ファイルからコントローラーに移動すると、次のように同じ問題が発生します。

respond_to do |format|
  format.js do 
    render :update do |page|
      page.alert "posted"
      page.replace "tweets", :partial => "twitter/tweets"
    end  
  end
end

編集-最後に、他に何もないため、jrails gemをインストールしたところ、今は問題ないようです。

4

1 に答える 1

0

jquery-rails gemを使用することをお勧めします。これにより、rails.js ファイルが提供され、プロトタイプ ヘルパーが jquery ヘルパーに置き換えられます。追加

gem 'jquery-rails'

あなたのgemfileに、

bundle install
rails g jquery:install

gem をインストールし、正しいファイルを生成します。

于 2011-03-31T11:39:30.710 に答える