使用 Rails 3、jquery 和 ajax 的简单喜欢/不喜欢按钮
我有一个产品、用户和类似的模型。用户可以喜欢一个产品。我正在尝试实现一个简单的“喜欢”按钮,单击该按钮即可让用户喜欢某个产品。然后,“喜欢”按钮会转变为“不喜欢”按钮,从而允许用户喜欢某个产品。非常简单。
我已经实现了上述模型/控制器逻辑。我不太擅长 javascript/ajax,想知道实现上述功能的最佳方法是什么。我希望通过 ajax 处理类似/不同的操作。我的应用程序使用 Rails 3 和 jquery ujs。
谢谢。
I have a product, user, and like model. A user can like a product. I am trying to implement a simple like button which, upon a click, allows a user to like a product. Then the like button transforms into an unlike button, allowing the user to unlike a product. Pretty straightforward.
I have implemented the model/controller logic for the above. I am not very good with javascript/ajax and was wondering what the best way would be to implement the above functionality. I want the like/unlike actions to be handled via ajax. I am using rails 3 and jquery ujs for my app.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我对你的问题的回答很长,所以我写了一个示例应用程序。这是一个片段:
给这只猫剥皮的方法有很多,但我喜欢渲染部分和单个 ujs 模板。
_like_button.html.erb
:toggle.js.erb
,其中"#like"
是包含表单的div:My answer to your question is long, so I wrote up an example application. Here's a snippet:
There are many ways to skin this cat, but I like to render a partial and a single ujs template.
_like_button.html.erb
:toggle.js.erb
, where"#like"
is the div enclosing the form:基本上,要使您的链接通过 AJAX 工作,您只需提供
link_to
和:remote =>; true 参数。但我猜你想向用户提供某种反馈。请观看此截屏视频。
Basically, to make your links work via AJAX, you just need to provide
link_to
with:remote => true
argument. But I guess you want to make some sort of feedback to the user. Take a look at this screencast.