Ruby on rails Rails 4使用Ajax断开链接
我正试图使用ajax将“推荐”部分添加到模拟配置文件页面。当我点击coding_skills index页面上的Recommensions(推荐)按钮时,我得到的服务器或日志错误为零,但该页面仍保留在index页面上,不会加载“推荐”页面。任何建议都将不胜感激 建议控制员 视图#索引Ruby on rails Rails 4使用Ajax断开链接,ruby-on-rails,ajax,Ruby On Rails,Ajax,我正试图使用ajax将“推荐”部分添加到模拟配置文件页面。当我点击coding_skills index页面上的Recommensions(推荐)按钮时,我得到的服务器或日志错误为零,但该页面仍保留在index页面上,不会加载“推荐”页面。任何建议都将不胜感激 建议控制员 视图#索引 您缺少create.js.erb文件,该文件的外观如下: $('#element_id').html("<%= escape_javascript(render 'your_partial') %>")
您缺少create.js.erb文件,该文件的外观如下:
$('#element_id').html("<%= escape_javascript(render 'your_partial') %>");
$('#element_id').html(“”);
元素_id是要在页面上替换的html选择器。这取决于html的外观以及在ajax调用期间要替换的html部分
您的部分是您没有提供的部分
我认为不用escape_javascript,你可以只使用“j”。我认为问题出在这一行:
<%= link_to "Add a recommendation", new_recommendation_path, class: "btn btn-success", remote: true %>
最后的remote:true
会导致HTTP请求失败
要解决此问题,请尝试删除
远程:true
。然后你的重定向应该被遵循。1)你在点击哪个“推荐”按钮(你有几个链接和按钮,它们似乎没有一个只说“推荐”2)你在使用chrome和/或firefox吗?您是否右键单击并检查了页面?“网络”选项卡中发生了什么?javascript控制台呢?当你写“当我点击推荐按钮时”,你指的是“添加推荐”按钮吗?很抱歉,缺少信息。是的,我指的是_best_of.html.erb文件上的“添加推荐”按钮。@Taryn,我使用的是Chrome。我在javascript控制台中没有错误。我从未使用过网络标签,但我刚刚打开它,它没有显示任何信息。如果我按照Brian的回答中的建议删除“remote:true”,则该按钮会起作用,但这也会删除Ajax功能!对于“网络”选项卡,您必须打开该选项卡,然后刷新页面才能真正看到任何内容。网络将显示页面的所有get/etc,包括AJAX请求。如果一个ajax请求有500个错误,它通常会显示为红色-您可以点击它查看确切的请求和响应-这让您可以看到500个错误,通常还有完整的stacktrace,这非常有用。
<%= render "best_of" %>
<div id="best_of">
<h1>Recommendations for Cody</h1>
<p>Add a recommendation below!</p>
<% if current_user %>
<%= link_to "Add a recommendation", new_recommendation_path, class: "btn btn-success", remote: true %>
<% else %>
<p><%= link_to "Sign in to add a recommendation", new_user_session_path %></p>
<% end %>
<h3>Recommendations</h3>
<div id="recommendations">
<% if @recommendations.any? %>
<%= render(@recommendations) %>
<% end %>
</div>
<%= link_to "Close", root_path, id: "hide_best_of", class: "btn btn-success" %>
</div>
<div id="recommendation-header">
<h3>Hey there, <%= current_user.email %>!</h3>
</div>
<%= bootstrap_form_for @recommendation, remote: true do |f| %>
<%= f.text_area :recommendation_content, label: "What do you like about Cody?" %>
<%= f.submit "Add recommendation", class: "btn btn-success" %>
<% end %>
Prefix Verb URI Pattern Controller#Action
root GET / coding_skills#index
new_user_session GET /users/sign_in(.:format) devise/sessions#new
user_session POST /users/sign_in(.:format) devise/sessions#create
destroy_user_session DELETE /users/sign_out(.:format) devise/sessions#destroy
user_password POST /users/password(.:format) devise/passwords#create
new_user_password GET /users/password/new(.:format) devise/passwords#new
edit_user_password GET /users/password/edit(.:format) devise/passwords#edit
PATCH /users/password(.:format) devise/passwords#update
PUT /users/password(.:format) devise/passwords#update
cancel_user_registration GET /users/cancel(.:format) devise/registrations#cancel
user_registration POST /users(.:format) devise/registrations#create
new_user_registration GET /users/sign_up(.:format) devise/registrations#new
edit_user_registration GET /users/edit(.:format) devise/registrations#edit
PATCH /users(.:format) devise/registrations#update
PUT /users(.:format) devise/registrations#update
DELETE /users(.:format) devise/registrations#destroy
posts GET /posts(.:format) posts#index
POST /posts(.:format) posts#create
new_post GET /posts/new(.:format) posts#new
edit_post GET /posts/:id/edit(.:format) posts#edit
post GET /posts/:id(.:format) posts#show
PATCH /posts/:id(.:format) posts#update
PUT /posts/:id(.:format) posts#update
DELETE /posts/:id(.:format) posts#destroy
coding_skill_projects GET /coding_skills/:coding_skill_id/projects(.:format) projects#index
POST /coding_skills/:coding_skill_id/projects(.:format) projects#create
new_coding_skill_project GET /coding_skills/:coding_skill_id/projects/new(.:format) projects#new
edit_coding_skill_project GET /coding_skills/:coding_skill_id/projects/:id/edit(.:format) projects#edit
coding_skill_project GET /coding_skills/:coding_skill_id/projects/:id(.:format) projects#show
PATCH /coding_skills/:coding_skill_id/projects/:id(.:format) projects#update
PUT /coding_skills/:coding_skill_id/projects/:id(.:format) projects#update
DELETE /coding_skills/:coding_skill_id/projects/:id(.:format) projects#destroy
coding_skills GET /coding_skills(.:format) coding_skills#index
POST /coding_skills(.:format) coding_skills#create
new_coding_skill GET /coding_skills/new(.:format) coding_skills#new
edit_coding_skill GET /coding_skills/:id/edit(.:format) coding_skills#edit
coding_skill GET /coding_skills/:id(.:format) coding_skills#show
PATCH /coding_skills/:id(.:format) coding_skills#update
PUT /coding_skills/:id(.:format) coding_skills#update
DELETE /coding_skills/:id(.:format) coding_skills#destroy
recommendations GET /recommendations(.:format) recommendations#index
POST /recommendations(.:format) recommendations#create
new_recommendation GET /recommendations/new(.:format) recommendations#new
edit_recommendation GET /recommendations/:id/edit(.:format) recommendations#edit
recommendation GET /recommendations/:id(.:format) recommendations#show
PATCH /recommendations/:id(.:format) recommendations#update
PUT /recommendations/:id(.:format) recommendations#update
DELETE /recommendations/:id(.:format) recommendations#destroy
$('#element_id').html("<%= escape_javascript(render 'your_partial') %>");
<%= link_to "Add a recommendation", new_recommendation_path, class: "btn btn-success", remote: true %>