2012-12-07 90 views
2

由於我啓用了遠程真,它應該立即將切換按鈕「Follow」改爲「Un-Follow」。
但它沒有。如果我重新加載頁面,切換按鈕顯示更改的標籤。
所以這意味着它實際上改變了後面的列的值。
我已經爲此花了3天,但我仍然不知道:(
任何人都可以幫助我如何解決這個問題?代碼有什麼問題嗎?或者我錯過了一些JQuery文件? 我是所以新手到Rails ...acts_as_follower對我的Rails3.2應用程序無法正常工作

的Gemfile

... 
# Gems used only for assets and not required 
# in production environments by default. 
group :assets do 
    gem 'sass-rails', '~> 3.2.3' 
    gem 'coffee-rails', '~> 3.2.1' 

    # See https://github.com/sstephenson/execjs#readme for more supported runtimes 
    # gem 'therubyracer', :platforms => :ruby 

    gem 'uglifier', '>= 1.0.3' 
    gem 'jquery-ui-rails' 

end 

gem 'jquery-rails' 

...

資產/ Java腳本/ application.js中

... 
//= require twitter/bootstrap 
//= require jquery 
//= require jquery-ui 
//= require jquery_ujs 
//= require_tree 
... 

視圖/共享/ _follow_user.html.erb

<% unless user == current_user %> 
    <% if current_user.following?(user) %> 
    <%= link_to sanitize('<i class="icon-remove icon-white"></i> ') + 'Un-Follow', user_follow_path(user.to_param, current_user.get_follow(user).id), :method => :delete, :remote => true, :class => 'btn' %>    
    <% else %> 
    <%= link_to sanitize('<i class="icon-ok icon-white"></i> ') + 'Follow', user_follows_path(user.to_param), :remote => true, :class => 'btn btn-primary' %>    
    <% end %> 
<% end %> 

視圖/用戶/ create.js.erb

$('#follow_user').html('<%= escape_javascript(render :partial => "shared/follow_user", :locals => {:user => @user}) %>'); 

視圖/用戶/ destroy.js.erb

$('#follow_user').html('<%= escape_javascript(render :partial => "shared/follow_user", :locals => {:user => @user}) %>'); 

控制器/ following_controller.rb

class FollowsController < ApplicationController 

    def create 
    @user = User.find(params[:user_id]) 
    current_user.follow(@user) 
    end 

    def destroy 
    @user = User.find(params[:user_id]) 
    current_user.stop_following(@user) 
    end 

end 

的config/routes.rb中

... 
resources :users, :only => [:index, :show] do 
    resources :follows, :only => [:create, :destroy] 
end 
... 

型號/ user.rb

class User < ActiveRecord::Base 

    ... 

    acts_as_follower 
    acts_as_followable 

    ... 

end 

的意見/用戶/ show.html.erb

<h1>Users#show</h1> 

<p id="notice"><%= notice %></p> 

<p> 
    <b>User:</b> 
    <%= @user.user_profile.user_id %> 
</p> 

<p> 
    <b>Language:</b> 
    <%= @user.user_profile.language_id %> 
</p> 

<p> 
    <b>Country:</b> 
    <%= @user.user_profile.country_id %> 
</p> 

<p> 
    <b>Prefecture:</b> 
    <%= @user.user_profile.prefecture_id %> 
</p> 

<p> 
    <b>Gender:</b> 
    <%= @user.user_profile.gender_id %> 
</p> 

<p> 
    <b>Nickname:</b> 
    <%= @user.user_profile.nickname %> 
</p> 

<p> 
    <b>Introduction:</b> 
    <%= @user.user_profile.introduction %> 
</p> 

<p> 
    <b>Picture url:</b> 
    <%= @user.user_profile.picture_url %> 
</p> 

<% if user_signed_in? %> 
    <div id="follow_user"> 
    <%= render :partial => "shared/follow_user", :locals => {:user => @user} %> 
    </div> 
<% end %> 

回答

1

你忘了渲染到您跟隨控制器。

這裏我的測試代碼我使用了一些代碼,但我使用RubyCas-Server作爲圖層進行驗證。

所以只是檢查控制器,觀點:)

https://github.com/senayar/follower

+0

太謝謝你了!它的作品完美!但有一件事我注意到了!如果我使用我的_follow_user.html.erb(我很抱歉,我編輯了我的第一篇文章,所以請檢查)而不是你寫的,它不再工作了:(是因爲我使用link_to而不是button_to?我不能使用link_to與ajax ??? – HUSTEN

+0

我之所以使用link_to是爲了使用引導程序圖標,因爲您在我的代碼中看到 – HUSTEN

+0

請您再檢查一次嗎???我認爲您是隻有一個人可以輕鬆解決這個問題。 – HUSTEN

相關問題