2013-01-05 62 views
1

請問我對Ajax的幫助。我已經找到了這個問題的幾種解決方案,但都沒有工作。當我更新DIV內容時,ROR代碼不會被處理

每當我嘗試用ROR代碼更新DIV內容時,它都會顯示代碼,而不是結果。我隱藏了與我的問題無關的代碼,以保持問題清晰,並且易於理解。

在我的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) %> 

I'm使用「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 

由於提前,

回答

0

貴javascript文件的擴展名.js.erb?假設你正在使用的管道資產,才能夠做到這一點

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

你的JavaScript文件中要求,如果有一個.js.erb擴展

+0

它的工作!我花了近5個小時試圖解決它,解決方案非常簡單...非常感謝! –

相關問題