我目前正在构建一个需要远程表单的应用程序,它遇到了我,我从来没有真正理解rails respond_to
如何工作。rails如何响应工作?
例如,我有以下代码在视图
<%= form_tag ..., :remote => true %>
<%= submit_tag "submit" %>
<% end %>
我有一个名为_home.js.erb
局部一个JavaScript,假设相关的动作被命名为home
。
我明白,如果我在我的控制器下面的代码:
def home
# ...
respond_to do |format|
format.html
format.js { render :partial => 'home' }
end
end
这将在_home.js.erb
被按下表单提交按钮时执行JavaScript。但是,按下提交按钮时到底发生了什么?轨道如何知道是否要respond_to
html或javascript?
非常感谢!
然后我可以在application.js中有效地做这样的事情吗? '$(document).ready(function(){$('#submit')。on('click',...);});' 要达到同样的效果吗? – Enzo
@Enzo这是一个令人困惑的问题 –
这也意味着如果':remote => true'被删除或设置为false。那么提交按钮会发布带有头部/哑剧集的表单,告诉响应者在HTML中做出响应? – Enzo