【发布时间】:2013-07-31 13:41:17
【问题描述】:
在使用 Rails 4 提交表单后,我在更新 div 时遇到了一些问题。这是我的代码的相关部分:
查看:
_details.html.haml
= form_tag(url_for(save_answer_path(format: :js)), remote: true) do
(some html code ....)
= submit_tag t('app.bouton.send'), id: 'sendButton'
%div#divlogs
= render partial: 'logs'
控制器:
def save_answer
some code ...
respond_to do |format|
format.js
end
end
JS:
save_answer.js.erb
$('#divlogs').html("<%= escape_javascript(render partial: 'logs') %>");
当我提交时,一切都被正确调用,但我得到一个不正确的输出。我想要的是更新我的 div,但我得到一个页面,其中包含我的 JS 文件中的内容,但包含我的部分内容。
示例:
提交后我的网址:
http://domaine/controller/save_answer.js
我在屏幕上看到的内容:
$('#divlogs').html("<p>This should appear on the div </p>");
有人知道怎么回事吗?
【问题讨论】:
-
你试过
form_tag(save_answer_path, remote: true)。应该够了 -
您还应该检查是否使用了 rails.js(检查页面源)
-
感谢您的回答。是的,我尝试了很多方法,但出现错误:ActionController::UnknownFormat (ActionController::UnknownFormat):
-
@VladKhomich 没有 rails.js 的踪迹。我会做必要的。
-
@VladKhomich 非常感谢,就是这样!你能写一个答案让我验证吗?
标签: ruby forms tags ruby-on-rails-4