首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用jquery replace_html替换原型会导致错误。

用jquery replace_html替换原型会导致错误。
EN

Stack Overflow用户
提问于 2011-05-28 09:56:28
回答 2查看 3.6K关注 0票数 2

在对如何用jQuery替换原型进行了一些研究之后,我得到了这个jquery:

代码语言:javascript
复制
gem 'jquery-rails', '>= 1.0.3'
rails g jquery:install
rails s

我已经包含了:defaults文件(jquery应该有替代文件),但是在实现AJAX登录脚本时会出现错误。创建会话和登录用户的工作进行得很顺利,但是代码会生成错误:

TypeError:(){本机代码}没有方法'update‘Element.update(“侧栏”),“:部分=>’布局/用户‘”;

主计长:

代码语言:javascript
复制
sign_in user
  respond_to do |format|
    format.js {
      render :update do |page|
        page.replace_html 'sidebar' , ":partial => 'layouts/user'"
      end 
    }

表格:

代码语言:javascript
复制
<nav id="sidebar">
    <%= form_for :session, :url => sessions_path, :remote => true do |f| %>
      <div>
        <%= f.label :email %><br />
        <%= f.text_field :email, :class => "span-4" %>
      </div>
      <div>
        <%= f.label :password %><br />
        <%= f.password_field :password, :class => "span-4" %>
      </div>
      <div>
        <%= f.submit "Sign in" %>
      </div>
    <% end %>
</nav>

如果我没有弄错的话,jquery应该是原型的替代品。所以我猜我做错了什么?

编辑:

添加侧栏导航

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-28 10:48:26

问题是page.replace_html是一个原型函数。参考见这个问题不引人注目的Javascript是你最好的选择。

票数 5
EN

Stack Overflow用户

发布于 2011-06-14 19:53:46

您必须创建一个名为XXX.js.erb的部分,删除名为XXX.js.jrs的部分(如果有),在第一个部分中,使用JQuery (主要是它的.html()方法),例如:

=>控制器

代码语言:javascript
复制
respond_to do |format|
  format.js { render :locals => { :foo => 'bar' } }
end

=> js分部(XXX.js.erb)

代码语言:javascript
复制
$('#element')
 .html("<%= "hello #{foo}" %> ");
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6160907

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档