2012-03-21 16 views
0

私は次のコードをしました:私のルートで私の見解でのRails 3.1とjQuery

<div id="flash_notice" style="display: none;"></div> 
<%= link_to "Vote", {:controller=>"your_controller_name", :action => 'vote',:id=>@warehouse.id, :vote=>true}, :remote=> true, :method => :put %> 
私のコントローラで

def vote 
    @warehouse = Warehouse.find(params[:id]) 
    @warehouse.update_attribute(:vote, params[:vote]) 
    respond_to do |format| 
    format.js 
    end 
end 

resources :your_controller_name do 
    collection do 
    put 'vote' 
    end 
end 
を提出し、これは "vote.js.erb"

です
$("#flash_notice").html("You have voted successfully"); 
$("#flash_notice").show("slow"); 

は今、私は、「フラッシュ通知」が表示されたとき、(そのようなので、上のアイコン、HTMLコードやなど)他の物事がに表示されており、それが永続的であることを望みます。私はテーブルを持っていて、私はテーブルを持っていて、それぞれのテーブルアイテムに「flash_notice」<div>を持っています。アイテムを参照した「投票」をクリックすると、ちょうど私が覚えているもの

+0

フォーマットコード自分のためにやれ) – shingara

答えて

0

クリックした後に投票リンクのクリックイベントをバインド解除することもできますし、vote.js.erbが実行されてクリックイベントが無効になるまで待つこともできます投票リンクはコントローラに一意に識別するパラメータを渡します(例えば?vote_id=1)、vote.js.erbにアクセスするとparams[:vode_id]にアクセスできるので、そのリンクのクリックイベントを無効にすることができます。