我正在尝试使用最新的form_with
发送Ajax帖子。
这就是我所做的。
<%= form_with url: comments_path, data: { type: :json } do |form| %>
<%= form.text_area :context, class: "rt-textarea mg-b-10" %>
<%= form.submit "Submit", class: "btn-m btn-blue, id: "comment-submit" %>
<% end >
<script type="text/javascript">
jQuery(document).ready(function($) {
$('#comment-submit').on('ajax:success', function(event, data) {
console.log('GET RESPONSE!');
});
});
</script>
但是,当我发送表单帖子时,控制台没有打印GET RESPONSE!
。
我在Google Developer Console中检查了Network
标签,它确实将JSON对象发送回了。我有什么想念的吗?
答案 0 :(得分:1)
我认为您缺少end
标签。 form_with
可能像这样:
<%= form_with url: users_path do |form| %>
<%= form.text_field :email %>
<%= form.submit %>
<% end %>
答案 1 :(得分:0)
结果是,我将id
放在错误的位置。
我应该将id
放在form_with
标记中,而不是submit
标记中。
切换到此行后,它可以正常运行。
<%= form_with url: comments_path, data: { type: :json }, id: "add_comment" do |form| %>
....
<% end %>