2012-05-11 48 views
0

目前我正在开发一个使用rails 3.0.3的网站。如何通过ajax刷新div

我有一个模型叫事件。 在我events_controller.rb文件,我有这样的代码:

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

我有一index.html.haml文件中有我写了这个:

- content_for :title do 
    Listing Events 

%div#event 
    = render :partial => "task" 

我有一个部分文件叫_task.html.haml 在那里我有分配股利ID和AJAX远程真:像这个 -

- @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 'Delete', event, :confirm => 'Are you sure?', 
            :method => :delete, 
            :remote => :true 

最后我有我的destroy.js.haml在那里我已经写了 -

$('##{dom_id(@event)}').remove(); 

它成功地与阿贾克斯删除,但计数器显示相同的值,手动刷新页面后柜台正在减少。 请告诉如何通过ajax更新。

,并在我的模型是event.rb文件我指望在没有像这样的活动对于保持计数器:

def current_date 
     Date.today 
    end 

    def self.find_current 
     Event.find :all, :conditions => ['(start_date = current_date)'], :order => 'start_date ' 
    end 

    def self.count_past(current_date = Date.today) 
     Event.count :all, :conditions => ['start_date < ?', current_date], :order => 'start_date' 
    end 

    def self.count_upcoming(current_date = Date.today) 
     Event.count :all, :conditions => ['start_date > ?', current_date], :order => 'start_date' 
    end 

    def self.count_today(current_date = Date.today) 
     Event.count :all, :conditions => ['start_date = ?', current_date], :order => 'start_date' 
    end 

我还有一个部分是在布局称为subnav.html.haml斯海尔我显示

 %li 
     - if params[:controller] == "brands" 
      // my code 
     - elsif params[:controller] == "events" 
      %a.blue.tt-top-center{:title => "Today's Events", :href => events_path(:view => "today") }#{Event.count_today} 
      %span Today's Events 

    %li 
    - if params[:controller] == "brands" 
//my code 
    - elsif params[:controller] == "events" 
     /= link_to "Upcomming events", events_path(:view => "upcoming") 
     %a.tt-top-center{:title => "upcomming Events", :href => events_path(:view => "upcoming") }#{Event.count_upcoming} 
     %span Upcoming Events 

我搜索过马网页上的计数纽约州的链接,但没有得到更新我的计数的方式,请帮助我,并以详细的方式让我理解,因为在网站上他们给出的提示不符合我的标准,所以请帮助我,并使用相同的班级名称和网址我在代码中使用了什么,我会非常感谢你的帮助。

回答

0

$('##{dom_id(@event)}').reset();写入destroy.js.erb文件。