Rails link_to与远程:真正的不请求JS
问题描述:
试图渲染一个模式来更新任务,但是当使用remote:true和link_to它只是请求html格式,我甚至检查了也不接受js的请求头。Rails link_to与远程:真正的不请求JS
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
我不太确定是什么错。我试过中注明的link_to格式,并具有在控制器中的respond_to而是呈现一个原始文本的HTML,而不是我的.js.haml执行JS
违规代码:
查看[html的.haml]:
= link_to 'Edit', edit_task_path(task), remote: true
控制器:
def edit
@task = Task.find(params[:id])
render :show_form
end
show_form.js.haml:
:plain
$('#modal1').modal('open');
$('#modal1').html("#{escape_javascript(render partial: 'create_task', locals: {task: @task})});
此外我还包括所有必需的库,我甚至使用远程:真正的其他地方在代码中提交表单,它都可以正常工作。
答
在控制器中对每个以下代码进行更改。
respond_to do |format|
format.html { render layout: 'YOUR LAYOUT' }
format.js
end
you can use template or text in place of layout.
答
写下面的清单档案中的(application.js)
//= require jquery
//= require jquery_ujs
+0
我已经有这个。 – user7088063
+0
右键单击并查看页面源代码,将您的html页面源代码粘贴到此处 –
它仍然只查找html格式,当我指定我.js.haml它说,失踪的布局依然。如果我指定格式应该是js,那么它会呈现js.haml,但只是显示源并且实际上不工作。 – user7088063