我有一個頁面上有兩個Ajax請求(一個顯示日期,一個顯示日曆)多個AJAX請求查看
請求之一:在約會的點擊(日曆),將更新日期。
請求兩個:您可以在日曆的幾個月之間更改。
發生了什麼是我在index.js.erb中都有這兩個函數,它總是執行兩個,每次更改月份時重置'請求一'中的日期。
我可以做到這樣它一次只執行index.js.erb的一個函數嗎?
index.js.erb的
$("#calendar").html("<%= escape_javascript(render('layouts/calendar')) %>");
$("#today").html("<%= escape_javascript(render('layouts/today')) %>");
_today.html.erb
<div class="span3 offset2 dateToday">
<% end %>
<span id="currentdate">
<%= @eventDate.strftime("%B") %><br>
<span id="dayDate"><%= h @eventDate.day %></span>
</span>
</div>
_calendar.html.erb
<h2 id="month">
<span class="pull-left"><%= link_to "<", :month => (@date.beginning_of_month-1).strftime("%Y-%m-01") %></span>
<%= h @date.strftime("%B %Y") %>
<span class="pull-right"><%= link_to ">", :month => (@date.end_of_month+1).strftime("%Y-%m-01") %></span>
</h2>
<%= calendar_for(@events, :year => @date.year, :month => @date.month) do |t| %>
<%= t.head('Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun') %>
<%= t.day(:day_method => :eventdate) do |date, events| %>
<div class="day">
<%= link_to(date.day, {:day => date }, :remote => true, :class => "btn dayBtn") %>
</div>
<% end %>
編輯:routes.rb中
resources :calendar
root :to => "calendar#index"
match '/faq', to: 'calendar#faq'
match ':controller/:action'
編輯 - 鏈接到阿賈克斯行動
<%= link_to "<", :month => (@date.beginning_of_month-1).strftime("%Y-%m-01"), :action => "update_calendar", :remote => true %>
謝謝!
我如何打破他們分成兩個行動? –
在您的控制器update_today和update_calendar中創建方法,並讓它們各自爲其中一個更新執行邏輯。 – rovermicrover
你認爲你可以詳細說明嗎?我是一個總新手。 –