【发布时间】:2019-08-14 09:21:48
【问题描述】:
我有一个表单,在提交时,它指向一个“overlap_check”控制器操作。 在操作中,如果已发送的参数满足条件,我想通过调用 javascript 函数在页面上呈现模式。 这可能吗?
我见过一些例子:
# render :js => "('#testing').modal('show');"
但运气不好。
谢谢
【问题讨论】:
我有一个表单,在提交时,它指向一个“overlap_check”控制器操作。 在操作中,如果已发送的参数满足条件,我想通过调用 javascript 函数在页面上呈现模式。 这可能吗?
我见过一些例子:
# render :js => "('#testing').modal('show');"
但运气不好。
谢谢
【问题讨论】:
1) 在控制器中:
def overlap_check
respond_to do |format|
format.js
end
end
2) 创建overlap_check.js.erb
3) 将js代码添加到overlap_check.js.erb
('#testing').modal('show');
4) 在表单中添加remote: true
【讨论】:
请在控制器操作中提及以下格式。
respond_to do |format|
format.js
end
并在视图中创建actioname.js.erb。在那里你可以打电话给('#testing').modal('show');。
如果您通过链接调用控制器操作,则添加 remote: true
<%= link_to your_link_name, path, :remote => true %>
或者,如果您从行动中调用,则在您的表单中添加 remote: true
那么它应该可以工作了。
【讨论】:
ActionController::UnknownFormat 错误?
remote: true 。如果您仍有疑问,请将您的表格发送给我一次。