1
我使用Rails Gem acts_as_follower設置了跟蹤系統,並且遇到了問題肯定如何解決。Rails gem acts_as_follower創建/銷燬錯誤:無法找到id =「用戶名」的成員(用戶)
當我去遵循例如用「testuser1」的用戶名的用戶我得到這個錯誤:
Couldn't find Member with id=testuser1
app/controllers/follows_controller.rb:6:in `create'
Parameters:
{"_method"=>"post",
"authenticity_token"=>"FnqLCCQYcFGMerOB56/G6dlPvzpPhPDFbxCXaiDBOUU=",
"member_id"=>"testuser1"}
這裏是我的控制器:
class FollowsController < ApplicationController
before_filter :authenticate_member!
def create
@member = Member.find(params[:member_id])
current_member.follow(@member)
end
def destroy
@member = Member.find(params[:member_id])
current_member.stop_following(@member)
end
end
創建窗體如下:
<%= link_to("Follow", member_follows_path(member.to_param), :method => :post, :class => "btn") %>
<%= link_to("Following", member_follow_path(member.to_param, current_member.get_follow(member).id), :method => :delete, :class => "btn btn-follow") %>
這該是多麼我定義我的to_param因爲這是你如何得到一個會員/用戶的頁面:
def to_param
user_name
end
任何人在那裏知道我可以去修復呢?謝謝。
謝謝。我用第一種方法,它的工作原理。我有一個關於Ajax的小問題。我添加了:remote => true按鈕並創建相應的create/destroy .js文件:'$(「#following_member」)。html(「<%= escape_javascript(render:partial =>」following/follow_member「,: locals => {:member => @member})%>「);'爲什麼不在沒有手動刷新的情況下更改按鈕? – iamdhunt
我想補充一句:'respond_to do | format | \t format.html {redirect_to的@member} \t format.js \t end'將使叫我create.js,但它不工作 – iamdhunt
@iamdhunt你可以爲我確認您的瀏覽器確實接收的JS代碼斑點(你在上面指定的代碼),並且它被正確渲染和所有這些?如果您使用的是Chrome瀏覽器,則可以使用網絡標籤查看請求。如果是......不確定;請求是作爲字符串而不是分析的代碼返回的? –