我对您的问题的回答很长,因此我编写了一个示例应用程序。这是一个片段:
有很多方法可以使这只猫皮肤化,但是我喜欢呈现部分和单个ujs模板。
_like_button.html.erb:
<% if like = current_user.likes.find_by_product_id(@product.id) %> <%= form_for like, :html => { :method => :delete }, :remote => true do |f| %> <%= f.submit "Unlike" %> <% end %><% else %> <%= form_for current_user.likes.build(:product_id => @product.id), :remote => true do |f| %> <%= f.hidden_field :product_id %> <%= f.hidden_field :user_id %> <%= f.submit "Like" %> <% end %><% end %>toggle.js.erb,其中
"#like"的div包含以下形式:
$("#like").html("<%= escape_javascript render('like_button') %>");


