der*_*use 8 ajax jquery ujs ruby-on-rails-3
我有一个产品,用户和类似的模型.用户可以喜欢产品.我正在尝试实现一个简单的按钮,只需点击一下,就可以让用户喜欢产品.然后,like按钮转换为不同的按钮,允许用户不同于产品.非常直截了当.
我已经为上面实现了模型/控制器逻辑.我对javascript/ajax不是很了解,并且想知道实现上述功能的最佳方法是什么.我想通过ajax处理喜欢/不同的动作.我正在为我的应用程序使用rails 3和jquery ujs.
谢谢.
dwh*_*len 36
我对你的问题的回答很长,所以我写了一个示例应用程序.这是一个片段:
有很多方法可以为这只猫提供皮肤,但我喜欢渲染部分和单个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 %>
Run Code Online (Sandbox Code Playgroud)
toggle.js.erb,"#like"封闭表格的div 在哪里:
$("#like").html("<%= escape_javascript render('like_button') %>");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9429 次 |
| 最近记录: |