我有以下方案: lessons_controller - > show.html.erb ,其中包含* form_tag *,其中 remote:true - > test_controller - > show.js - >的 _test.html.erb
在课程/节目页面上提交form_tag时,我会收到 _test.html.erb 的内容。
但我想在某些情况下跳过课程/节目页面。
所以我想转到课程/节目页面,接收 _test.html.erb 的内容而不提交任何内容。使用远程选项 lessons_controller 中的 redirect_to 来模拟form_tag提交。
有可能吗?
答案 0 :(得分:0)
不确定您的目的,如果您只想直接显示表单,就像在js资产中添加以下内容一样简单
$ ->
$(form#show_lesson).submit()
如果要在控制器级别控制它。您可以执行以下操作。
# Lessons controller
def show
@lesson = Lesson.find params[:id]
template = params[:show_directly].present? ? 'show' : 'show_with_test'
render template
end
# views/show.html.erb
render partial: 'show_form'
# views/show_with_test.erb
render partial: 'test', locals: {lesson: @lesson}
使用
浏览lessons/1
将显示原始表单
浏览lessons/1?show_directly=1
将直接显示所有内容。
答案 1 :(得分:0)
我认为您可以在加载课程#show时调用javascript提交,并使用_test.html.erb中的回调数据。
我认为用'脚本'类型制作重定向请求是不可能的好方法。