したがって、私は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ない形式に対応しています信じています。どんなアイデアですか?
あなたの '_unfollow_topic.js.erb' ファイルには何ですか?あなたは、すべてのものを取り除き、いくつかの警告のJavaScriptを入れてみましたか? 'alert("こんにちは! ");'それは、あなたが部分的に戻ってくるかどうかを伝えるかもしれません。 – ipd
通常、ajaxリクエストはページの一部を更新するために使用されます。あなたの質問から理解しているように、Ajaxリクエストで全ページを更新したいと思いますか? – Bohdan
また、この要求であなたのログのチャンクを投稿してください。 – Bohdan