2012-05-09 83 views
0

您好我是rails新手,我正在使用rails 3.My que是我想使用ajax從列表中刪除圖片。當我點擊刪除按鈕時,圖像在索引頁面上仍然可見,但實際上它會被刪除,但用戶可以在刷新網頁後看到更改。我希望它在與ajax相同的頁面上可見。任何人請幫助。謝謝...刷新頁面後會顯示Ajax刪除的項目

我的控制器代碼是:

def destroy 
    logger.info params[:event].inspect 
    @event = Event.find(params[:id]) 
    @event.destroy 
    #redirect_to events_url 
    respond_to do |format| 
    format.html { redirect_to @event, :notice => 'Event deleted' } 
    format.js 
    end 
end 

我的視圖代碼是:

**app/view/events/index.html.haml** 
    - @events.each do |event| 
     %ol.hoverbox 
     %li.all{:id =>"event_#{event.id}"} 
      = link_to image_tag(event.photo.url), event_path(event) 
      .abc 
      = event.name 
      %br/ 
      .bca 
      = event.start_date 
      | 
      = event.start_time 
      | 
      = link_to " ".html_safe, event_path(event), :remote => true, :method => :delete, :class => "del-16", :confirm=>"Are u sure?", :title => "Delete", :style => "text-decoration:none;" 

的JS代碼是:

*destroy.js.erb* 
$("#event_#{event.id}").fadeOut().remove(); 

回答

1

我想你需要看看here

寫這樣的東西

$(「#event _#{event.id}」)。reset();在您的destroy.js.erb文件中。

我希望這會幫助你。

謝謝。

+0

嘿urjit感謝您的建議,我遵循的方法,但我仍然面臨同樣的問題。 – DSH

+0

ok,刪除$(「#event _#{event.id}」)。reset(); 請嘗試下面的代碼 $(「#event _#{event.id}」)。fadeOut(700);從fadeOut中刪除.remove()。 –

+0

我認爲在調用destroy.js.erb文件時存在一些問題,因爲當我正在寫alert(ajax作品)時;在js文件中這也不起作用。 – DSH