2011-07-05 9 views
2

*(。すべてがアヤックスの外に完全に動作することに注意してくださいsubmittableクラスは、フォームのonchangeを提出する作品)のRails 3:Ajaxと<%= escape_javaScript(アイテム)%>

だからここに私が設定しています何らかの理由で、私は<%= escape_javaScript(item)%>をフォーム送信に表示できません。もっと説明するために、私は相対的なコードを表示します。

index.html.erb

<% @contacts.each do |contact| %> 
    <%= form_for contact,:remote => true do |f| %> 
     <div class="editField"> 
      <%= f.collection_select :agent_id, get_user_list("agent"), :id, :full_name, {:include_blank => 'None assigned'},:class => "submittable" %> 
     </div> 
    <% end %> 
    <div id="agent2"> 
     <%= contact.agent_id %> 
    </div> 
<% end %> 

contact_controller.rb

def update 
    @contact = Contact.find(params[:id]) 


    respond_to do |format| 
     if @contact.update_attributes(params[:contact]) 
     format.js { render } 
     end 
    end 
end 

update.js.erb設定したものと

$('#agent2').html("<%= escape_javaScript(contact.agent_id) %>"); 

、私は応答がないか、に変更します(div id agent2)がこのコードを使用してupdate.js.erbを持っている場合

「何か」
$('#agent2').html("something"); 

テキストは、そのが正しく動作していない理由として、私は混乱してる超え、現在contact.agent_id

を置き換えます。 Ruby 1.8.7(2010-08-16パッチレベル302)[i686-darwin10]でRails 3.0.3を使用していて、Jqueryを使用しています。

+0

コンソールエラーやjavascriptエラー(chrome dev tools/firebugを使用)がありますか?また、 – Msencenb

答えて

3

agent_idの値が#agent2 div内にあるようにしたいようです。それは事実ですか?

$('#agent2').html("<%= escape_javascript(render(:partial => 'partial_name')) %>"); 

役立ちます希望:あなたは私が部分的に通過しますescape_javascriptヘルパーメソッドを使用していたときにその呼び出しは次のようになりますが、一般的にちょうど$('#agent2').html("<%= contact.agent_id %>");

を試してみました!

1

escape_javascriptでは大文字と小文字が区別されます。試してみることができます:escape_javascriptヘルパーと呼ぶ特別な理由はありますか?

+0

の代わりに@contactを試してみてください。 – mediarts

関連する問題