在对如何用jQuery替换原型进行了一些研究之后,我得到了这个jquery:
gem 'jquery-rails', '>= 1.0.3'
rails g jquery:install
rails s我已经包含了:defaults文件(jquery应该有替代文件),但是在实现AJAX登录脚本时会出现错误。创建会话和登录用户的工作进行得很顺利,但是代码会生成错误:
TypeError:(){本机代码}没有方法'update‘Element.update(“侧栏”),“:部分=>’布局/用户‘”;
主计长:
sign_in user
respond_to do |format|
format.js {
render :update do |page|
page.replace_html 'sidebar' , ":partial => 'layouts/user'"
end
}表格:
<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应该是原型的替代品。所以我猜我做错了什么?
编辑:
添加侧栏导航
发布于 2011-05-28 10:48:26
问题是page.replace_html是一个原型函数。参考见这个问题。不引人注目的Javascript是你最好的选择。
发布于 2011-06-14 19:53:46
您必须创建一个名为XXX.js.erb的部分,删除名为XXX.js.jrs的部分(如果有),在第一个部分中,使用JQuery (主要是它的.html()方法),例如:
=>控制器
respond_to do |format|
format.js { render :locals => { :foo => 'bar' } }
end=> js分部(XXX.js.erb)
$('#element')
.html("<%= "hello #{foo}" %> ");https://stackoverflow.com/questions/6160907
复制相似问题