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)






阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013435984/article/details/53996618
个人分类: rails
上一篇JavaScript中的常用方法总结
下一篇rails 代码结构详解
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭