Rails中的ajax运用2---关注

关注按钮的Ajax实现方式
1、原理:Ajax向服务器发送异步请求,在不刷新页面的情况下更新页面的内容

常规关注
2、关注一个用户
3、在user视图下面先编写局部关注视图表单_follow.html.erb

<%= form_for(current_user.active_relationships.build) do |f| %>

<div><%= hidden_field_tag :followed_id, @user.id %></div>
<%= f.submit "Follow", class: "btn btn-primary" %>

<% end %>

4、在user模型编写关注一个用户的方法

def follow(other_user)

active_relationships.create(followed_id: other_user.id)

end

5、在关系模型中定义关注的常规实现方法

def create
user = User.find(params[:followed_id])

current_user.follow(user)
redirect_to user

end


ajax关注

1、在user视图下面先编写局部关注视图表单_follow.html.erb

<%= form_for(current_user.active_relationships.
                              build(followed_id: @user.id),

remote: true) do |f| %>
<div><%= hidden_field_tag :followed_id, @user.id %></div>

<%= f.submit "Follow", class: "btn btn-primary" %><% end %>

2、在关系模型中定义关注的常规实现方法

def create
user = User.find(params[:followed_id])

current_user.follow(user)

respond_to do |format|

format.html { redirect_to @user }

                  
                  

format.js

end

3、如果请求是Ajax,rails 会自动调用的嵌入式ruby文件(.js.erb)






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值