0

私はまだRailsに比較的慣れていないので、ご容赦ください。パーシャルのみをレンダリングするのではなく、パーシャルを更新してページにとどまるにはどうすればよいですか?

_interaction.html.haml

%div.vote_up.pull-left
  = link_to('', vote_up_deal_path(deal), :method => :post,
    :class => 'icon-thumbs-up interact_button', :id => "vote_up_#{deal.id}")

「votes.js」では:

$.ajax({
  タイプ: 'POST',
  URL: '/deals/' + id + '/vote_up',
  成功: 関数() {
    //何かをする
  }
});

私の中でdeals_controller.rb

defvote_up
  user_signed_in の場合?
    current_user.vote_exclusively_for(@deal = Deal.find(params[:id]))
    render :partial => 'deals/partials/interaction', :locals => {:deal => @deal}
  終わり
終わり

これにより、ページにリダイレクトされ、AJAX 要求のように更新するのではなく、部分的にレンダリングされます。

4

1 に答える 1

0

試す

= link_to('', vote_up_deal_path(deal), :method => :post, :remote=>true, 
    :class => 'icon-thumbs-up interaction_button', :id => "vote_up_#{deal.id}")

:remote はそれが ajax リクエストであると言っているからです

于 2012-09-28T01:23:48.180 に答える