1

Ajax について教えてください。この問題の解決策をいくつか見つけましたが、どれもうまくいきませんでした。

DIV コンテンツを ROR コードで更新しようとすると、結果ではなくコードが表示されます。問題を明確にし、理解しやすくするために、問題に関係のないコードを非表示にしています。

私のHTMLには、次のリンクがあります。

<%= link_to 'Adicionar lançamento (+)', '#', id: "add-lancamento"  %>

私のJSファイルには、次のものがあります。

$('#add-lancamento').click(function(event){
  $('#dialog').html("<%= escape_javascript( render(:partial => 'form') ).html_safe %>");
  event.preventDefault();
});

#dialog 内のコンテンツが変更されているため、リンクが機能していることはわかっています。しかし、新しいコンテンツは次のとおりです。

<%= escape_javascript( render(:partial => 'form').html_safe ) %>

「escape_javascript」と「html_safe」を使用していますが、「」を「」に変更しましたが、それでも同じ結果が得られます。コードを処理せずに表示します。パーシャルはレンダリングされません。

Rails のさまざまなバージョンに関連するいくつかのソリューションを見つけたので、これらは私のシステムの詳細です。

Ruby version    1.9.3 (i386-mingw32)
RubyGems version    1.8.16
Rack version    1.4
Rails version   3.2.8
JavaScript Runtime  JScript
Active Record version   3.2.8
Action Pack version 3.2.8
Active Resource version 3.2.8
Action Mailer version   3.2.8
Active Support version  3.2.8
Middleware  
ActionDispatch::Static
Rack::Lock
#<ActiveSupport::Cache::Strategy::LocalCache::Middleware:0x39fdc08>
Rack::Runtime
Rack::MethodOverride
ActionDispatch::RequestId
Rails::Rack::Logger
ActionDispatch::ShowExceptions
ActionDispatch::DebugExceptions
ActionDispatch::RemoteIp
ActionDispatch::Reloader
ActionDispatch::Callbacks
ActiveRecord::ConnectionAdapters::ConnectionManagement
ActiveRecord::QueryCache
ActionDispatch::Cookies
ActionDispatch::Session::CookieStore
ActionDispatch::Flash
ActionDispatch::ParamsParser
ActionDispatch::Head
Rack::ConditionalGet
Rack::ETag
ActionDispatch::BestStandardsSupport
Application root    D:/sites/ror/buf4
Environment development
Database adapter    sqlite3
Database schema version 20121224183551

前もって感謝します、

4

1 に答える 1

0

JavaScriptファイルの拡張子は.js.erbですか?アセットパイプラインを使用していると仮定すると、これを実行できるようになります

<%= escape_javascript( render(:partial => 'form') ).html_safe %>

javascriptファイル内に.js.erb拡張子がある場合は

于 2013-01-05T19:43:03.230 に答える