Rails Rails 5 中使用 Ajax

eiyamaya · 2016年07月18日 · 最后由 eiyamaya 回复于 2016年07月20日 · 3962 次阅读

尝试了一下rails5,试着去用ajax创建新的时,意外发现以下使用方法(我不知道rails4中是否有这种用法),感到意外,但又有些自己的疑问,我拍表述不清楚,所以截了四张图:

键入新数据 提交后,添加成功,如`update`动作中所写的那样,重定向到`index`中

以上四张图为创建新课程的步骤,整个过程地址栏地址没有变化,我感到很神奇,但是我的疑问来了:

Q1. 图一中 添加课程的按钮代码如下,我并没有键入 remote: true,为什么整个过程地址栏地址没有变化

<%= link_to(edit_admin_course_path(course.id), class: %w(btn btn-info), data: { toggle: "modal", target: "#form_modal"  }) do %> 
    <i class="fa fa-lock"></i>修改
<% end %>

Q2. modal弹出,new.html.erb里的内容自动加载到modal-content中,为什么?

我对 rails5 之前的版本也不太熟悉,不知道之前的版本是否就有这种用法吗?或者有更灵活先进的用法,问题有点幼稚,求大神不要笑 - -!

这是 bootstrap 的。

默认使用了 turbolinks ?

#2 楼 @bastengao 对,我默认使用了

4 楼 已删除

你这个项目是新建的吗?应该还有其它代码吧

用 Developer Tool 看 netwok 应该就清楚了。

你贴的代码明明是修改课程的,哪里是添加课程了?

而且这个是 bootstrap 弹出对话框,跟 ajax 无关,只是本地的一个页面实现而已,地址栏当然没变化。你应该关注的是弹出来的对话框的代码。

#8 楼 @sefier 是,新建,表单内容是我填的,要不怎么会有第四步添加成功了? 我看弹出层对话框的代码了,我的问题就是为什么这么智能的在 model-content 中加在 new.html.erb 的内容

#9 楼 @eiyamaya

link_to(edit_admin_course_path(course.id)

新建,你起个名字叫 edit,还有 course.id?

#10 楼 @sefier 尴尬了,复制错代码了 👍

需要 登录 后方可回复, 如果你还没有账号请 注册新账号