2014-04-01 36 views
0

我有一堆圖像,當我使用AJAX上傳另一個圖像時,我需要刷新圖像所保存的div。在Rails 3.2中,我曾經能夠在控制器中使用partial和render_to_string並將JSON發回隨着新的HTML,但這種方法似乎並不在Rails的工作4.在使用AJAX的Rails 4中,如何更新成功的特定div?

我有一個叫做局部images.html.haml需要一個局部變量「用戶」

我有一個使用一個控制器如下:

respond_to do |format| 
    html = render_to_string('_images.html.haml', locals => {'user' => user}) 
    format.json {render :json => {:html => html} } 
end 

但是,當我使用這種方法時,不僅局部,而且部分機智hin應用程序佈局被渲染。我做了一些搜索,發現現在有一個:partial鍵,所以我嘗試了,但Rails無法找到該部分。有沒有更好的方式來做到這一點,由Rails 4支持?

回答

1

這應該爲你工作:

html = render_to_string(partial: 'images', locals: {user: user}) 
+0

不錯!工作就像一個魅力:) – onetwopunch

0

你可以試試這個,讓我知道它是否有效?

render_to_string(:partial => '_images.html.haml', :locals => {'user' => user}, :layout => false) 
+0

我得到這樣的迴應:'''::的ActionView MissingTemplate(缺少部分資料/ _images.html.haml,應用/ _images.html.haml與{:locale => [:en],:formats => [:html,:text,:js,:css,:ics,:csv,:png,:jpeg,:gif,:bmp,:tiff,:mpeg ,:xml,:rss,:atom,:yaml,:multipart_form,:url_encoded_form,:json,:pdf,:zip],:handlers => [:erb,:builder,:raw,:ruby,:jbuilder,:咖啡,:haml]}。搜索: *「.../app/views」 ):''' – onetwopunch

+0

你能告訴文件的確切路徑「_images.html .haml「(即目錄結構) – Siddhant

相關問題