ruby-on-rails-3 - 轨道 3 : Ajax and the <%= escape_javaScript(item) %>

标签 ruby-on-rails-3 jquery

*(请注意,一切都在 Ajax 之外完美运行。可提交类可在更改时提交表单)

因此,我在这里设置了一个基本示例,由于某种原因,我无法在表单提交上显示 <%= 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

更新.js.erb

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

完成此设置后,我没有得到任何响应或对 (div id agent2) 进行更改,但如果我使用此代码有 update.js.erb

$('#agent2').html("something");

文本“something”替换当前的 contact.agent_id

我很困惑为什么它不能正常工作。我使用 Rails 3.0.3 和 ruby​​ 1.8.7 (2010-08-16 patchlevel 302) [i686-darwin10],并使用 Jquery。

最佳答案

您调用escape_javascript有什么特殊原因吗? helper ?看来您只是想要 agent_id值在#agent2内分区是这样吗?您是否尝试过 $('#agent2').html("<%= contact.agent_id %>");

通常,当我使用 escape_javascript 时辅助方法我将传入部分内容,因此调用将类似于:

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

希望有帮助!

关于ruby-on-rails-3 - 轨道 3 : Ajax and the <%= escape_javaScript(item) %>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6587734/

相关文章:

ruby-on-rails-3 - 我需要直接在 Devise 下的控制台中对用户进行身份验证。我该怎么做?

ruby-on-rails - 带有符号的布局会产生错误

ruby-on-rails - RSpec-2 和设计

php - 如何保护电话号码免受机器人攻击

mysql - 如何在本地找到我为 Rails 应用程序创建的数据库并将其加载到服务器?

ruby-on-rails - ActiveRecord 在日期字段上按年、日或月查找

jquery - 添加 css 如果选中复选框?

php - 如何在 codeigniter 中使用 ajax 将数据插入 mysql 数据库?

jquery - 为什么我的 jQuery 函数无法检测视口(viewport)中的元素可见性?

javascript - 按类别打破 JSON 字符串介绍有序列表