我目前正在构建一个需要远程表单的应用程序,我发现我从来没有真正理解过 Rails 是如何respond_to
工作的。
例如,我在视图中有以下代码
<%= form_tag ..., :remote => true %>
<%= submit_tag "submit" %>
<% end %>
而且我有一个名为 javascript 的部分_home.js.erb
,假设相关的操作是命名的home
。
我明白,如果我的控制器中有以下代码:
def home
# ...
respond_to do |format|
format.html
format.js { render :partial => 'home' }
end
end
_home.js.erb
这将在按下表单的提交按钮时执行 javascript 。但是,按下提交按钮时究竟发生了什么?rails 究竟是如何知道是respond_to
html 还是 javascript?
非常感谢!