所以,我在Rails代碼中有2個關注/取消關注窗體。這是這樣的在Rails 3中渲染通過.ajax的靜態部分
<%= form_tag({:controller => 'profile', :action => 'unfollow_topic' }) do %>
<%= hidden_field_tag :topic_id, @topic.id %>
<button class="question_button" type="submit">Unfollow</button>
<% end %>
這:
<%= form_tag({:controller => 'profile', :action => 'follow_topic' }) do %>
<%= hidden_field_tag :topic_id, @topic.id %>
<button class="question_button" type="submit">Follow</button>
<% end %>
然後,我有這樣的javascript代碼:
<script type="text/javascript">
$(function(){
$('#follow form').submit(function(e) {
$.ajax({
url: this.action,
type: 'POST',
data: $(this).serialize(),
success: function(response){ $('#follow').html(response); }
});
return false;
});
});
</script>
我的問題是如何從我的控制器返回相應的「跟隨/ unfollow「部分用於替換返回的響應。
我現在擁有的是這一點,但它似乎並不工作:
respond_to do |format|
format.html { redirect_to('/' + topic.type + '/' + topic.uri) }
format.js { render :partial => 'unfollow_topic' }
end
但是相反,如果使整個頁面,我相信它的實際響應format.html而不是格式。 js有什麼想法?
什麼是你 '_unfollow_topic.js.erb' 文件?你試過剝離他們的一切,只是把一些警報的JavaScript? '警報(「你好!」);'這可能會告訴你,如果你甚至讓你的部分回來。 – ipd
ajax請求通常用於更新頁面的一部分正如我從你的問題所理解的,你想用ajax請求更新整個頁面它是正確的嗎? – Bohdan
也請發佈您的日誌與此請求的大塊 – Bohdan