我刚开始学习使用Rails 5实现ajax。 我正在关注一篇文章。
为了简单起见,我刚做了脚手架
rails g scaffold User name:string
现在我可以选择创建新用户。
目前我的 index.html.erb 有
<%= link_to 'New User', new_user_path%>
正如文章中所建议的,我添加了remote: true
<%= link_to 'New User', new_user_path, remote: true %>
然后以我做的形式
<%= form_for @user, remote: true do |form| %>
然后我点击新用户。我什么都没发现。
但是当我检查终端时,我可以看到
Started GET "/users/new" for 127.0.0.1 at 2017-09-01 00:00:20 +0530
Processing by UsersController#new as JS
Rendering users/new.html.erb within layouts/application
Rendered users/_form.html.erb (2.0ms)
Rendered users/new.html.erb within layouts/application (6.4ms)
但是我没有看到任何新用户表单出现或任何ajax动作发生。我做错了什么?
答案 0 :(得分:0)
您不想制作new_user_path
远程(AJAX)链接。您希望使用标准HTML呈现new
视图(new.html.erb
),并仅为表单使用remote: true
。
因此,请将<%= link_to 'New User', new_user_path, remote: true %>
替换为<%= link_to 'New User', new_user_path %>