我有一个针对我的注册的ajax调用,但最终命中控制器两次。我使用调试器测试了这个,所以我确信它会击中它两次。为什么这样做?
控制器代码如下:
def create
@user = User.new(params[:user])
if @user.save
sign_in(@user)
end
end
这就是create.js.erb,就是这个。
<% if current_user %>
$('.sign-up').remove();
$('.sign-in').remove();
$('div.top a.disabled').remove();
$('div.top').append('<a class="bookmarklet" href="javascript:<%= bookmarklet_caller_js %>">DRAG ME</a>');
$('nav').append('<%= j render "layouts/signed_in" %>');
$('nav').find('div.alert').remove();
$('nav').prepend('<div class="alert">Successfully signed up');
<% else %>
$('nav').prepend('<div class="alert">Error in signing up');
<% end %>
通话按预期工作。但是在用户注册成功时,它会运行两次循环,因此它会向用户签名,但错误消息会被错误消息覆盖。
知道为什么会这样吗?
我的公共资源文件夹。
Shivams-MacBook-Pro:Resource_It shivamd$ cd public/assets/
application-6bff97b14b282b79979adb4ef1e76e97.css
application- f41a09e268b5715d39683efc0ea7d95f.css.gz
jquery.min-6c267bfd2b3f36e6edccb2e584934c1c.map
application-6bff97b14b282b79979adb4ef1e76e97.css.gz
application.css
jquery.min.map
application-8dd88800030e4c48315ff31ade093d00.css
application.css.gz
manifest.yml
application-8dd88800030e4c48315ff31ade093d00.css.gz
application.js
rails-a3386665c05a2d82f711a4aaa72d247c.png
application-dc9a8b23a4c79a4934d3d64cf1146042.js
application.js.gz
rails.png
application-dc9a8b23a4c79a4934d3d64cf1146042.js.gz
grey-pattern-f166bfdb393cc4dd8c23d00665ba7da9.png
application-f41a09e268b5715d39683efc0ea7d95f.css
grey-pattern.png
我的ajax调用正在使用remote true