常规关注
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)