2011-07-14 6 views
1

私はajaxを使ってRoR rails関数を呼び出しています。これは新しいものです。RoRのjavascriptファイルに変数を送る

機能は私のdestroy.js.erbで

def destroy 
    @fav_company = FavouriteCompany.find(params[:id]) 

    respond_to do |format| 
    format.js { render :layout=>false } 
    end 
end 

は私が

$('#profile_alerts').show(); 
$('#Fav#{@fav_company.id}').hide(); 
最初の行が働いている

ではなく、二行目を持っています。 @fav_companyにアクセスできないと思われています。

どうすればよいですか?おかげ

=====

いくつかの追加情報、私はこの機能に作っていますコールは、次のようなリモート=> '真' とのlink_toです:

<%=link_to "destroy",{:controller=>"favourite_companies",:action=>"destroy", :id=>"#{fav.id}"}, {:remote => true } %> 

答えて

1

で変数を提示:==========================

$('#Fav#{escape_javascript({@fav_company.id}).html_safe}').hide(); 

========================================== ======

[OK]を、私のコードが、私は別のタスクを行います。

アルバム/ show.html.haml

= link_to t('write.comment'), new_album_comment_path(@album, :format => :js, :id => @album.id), :remote => true 
をも

コメント/ new.js.haml

$("#comment_form").html("#{escape_javascript(render :partial => "comments/form").html_safe}"); 

ここにすべてのコードhttps://github.com/barthezslavik/mebel - あなたは役に立つ何かを見つけた場合、あなたのjavascriptのコードは、私はあなたがすべきだと思うERBファイルにあるので、私は

+0

ありがとう!運がない。私は説明にいくつかの情報を追加しています – mtay

+1

あなたのビューとすべての関連するものを投稿する必要があります:) – s84

+0

すべての情報をありがとう! – mtay

3

この:

$('#Fav#{@fav_company.id}').hide(); 

は次のようになります。

$('#Fav #{@fav_company.id}').hide(); 

@fav_company.idと仮定すると使用してみてくださいDOM

+0

ありがとうございました。 divのidは実際には "Fav1232"のようなタイトルですが、私はあなたの提案をして遊んだが、うまくいきませんでした。おそらく私は変数を右に渡していないでしょうか? – mtay

3

ていただきます$('#Fav<%[email protected]_company.id%>').hide();を使用してください。