Jquery 如何回应js.erb?
我有一张带有遥控器的表格:trueJquery 如何回应js.erb?,jquery,ruby-on-rails,ajax,Jquery,Ruby On Rails,Ajax,我有一张带有遥控器的表格:true <div id="new_review"></div> <%= form_for @feedback, remote: true do |f| %> <%= f.text_area(:comment)" %> <%= f.submit("Submit") %> <%end%> 我在反馈文件夹中创建了一个文件create.js.erb $("#new_review").append
<div id="new_review"></div>
<%= form_for @feedback, remote: true do |f| %>
<%= f.text_area(:comment)" %>
<%= f.submit("Submit") %>
<%end%>
我在反馈文件夹中创建了一个文件create.js.erb
$("#new_review").append("<h1>lallalalalala</h1>");
alert('js was called!');
Application.js
//= require jquery
//= require jquery_ujs
//= require turbolinks
我在谷歌上搜索了一整天,看了很多教程,但都没法用。我尝试了application.js中的$.ajaxSetup和一些ajax请求,但没有成功
它是如何工作的?如果您能提供一些关于ajax、js或任何技巧的优秀教程,我将不胜感激。多谢各位
谢谢你,哟,我不太确定,但是试试替代品
respond_to do |format|
@feedback.save
format.html {}
format.js {}
end
对此
respond_to :js
我找到了我问题的答案 我在controller respond format.js中添加了一行代码来解决这个问题:
{render layout:false}
另一个解决方案可能是将数据:{type:“script”}
添加到您的表单中,但在我的情况下,它不起作用
工作控制器如下所示:
def create
@feedback = Feedback.new(feedback_params)
respond_to do |format|
@feedback.save
format.html {}
format.js {render layout: false}
end
end
谢谢大家的参与。我想你应该把
@反馈。把保存在响应|格式|
之外。您是否将这一行/=require jquery\u ujs
放在application.js
内部?谢谢Khanh,我尝试将@feedback.save放在我的应用程序外部和内部。js我需要jquery、jquery\u ujs和turbolinks。不起作用。你能更新你的问题以反映最新的代码吗?你能粘贴整个请求的日志吗?包括由控制器处理#作为JS的操作等?您看过这个吗?这个问题是由进一步的信息编辑的-添加了:application.js和服务器日志。但是你确定它保持相同的逻辑吗?尝试了,但没有帮助。无论如何,谢谢你。)
respond_to :js
def create
@feedback = Feedback.new(feedback_params)
respond_to do |format|
@feedback.save
format.html {}
format.js {render layout: false}
end
end