javascript – js.erb如何工作

前端之家收集整理的这篇文章主要介绍了javascript – js.erb如何工作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
最近我遇到了一些使用js.erb的应用程序,我不确定如何使用它…这是下面的代码.有人可以帮我理解这是如何工作的吗?

在routes.rb文件

map.resources :player_emails

我的控制器player_emails_controller.rb在create动作中

def create
 @player_email = PlayerEmail.create(params[:player_email])
 if @player_email.save
  @response_txt = "The player has been emailed."
  PlayerEmailsMailer.deliver_pattern_email(@something,@player_email,request.host_with_port)
  @error = false
 else
  @error = true
  @response_txt = "Please make sure you entered your name and a valid email address."
 end
end

然后我有文件player_emails / create.js.erb

$('#player_email_ind').hide();
$('#player_email_submit').show();
$('#player_response_msg').html("<%= escape_javascript @response_txt %>").fadeIn();
<% unless @error %>
$('#player_email_form')[0].reset();
<% end %>

我知道jquery会发生什么,但我不知道这是怎么做ajax调用的.它是否只是在有js.erb时自动执行ajax调用…有人可以解释它的工作方式以及为什么我不需要在控制器操作中的respond_to告诉它这是format.js

解决方法

如果发出了js(ajax)请求,它将通过呈现js.erb文件来响应,反之亦然.

这是正在执行的默认行为:

respond_to do |format|
    format.js{
      render :template => 'create.js.erb'
    }
    format.html{
      render :template => 'create.html.erb'
    }
  end

猜你在找的JavaScript相关文章