1

我有以下方案: Lesson_controller -> show.html.erb,其中包含 *form_tag* 和remote: true -> test_controller -> show.js -> _test.html.erb

因此,当我在课程/节目页面上提交 form_tag 时,我会收到_test.html.erb的内容。

但在某些情况下,我想跳过课程/展示页面。

所以我想去课程/展示页面并在地下接收_test.html.erb的内容而不提交任何内容。带有远程选项的课程控制器中的redirect_to之类的东西可以模拟 form_tag 提交。

可能吗?

4

2 回答 2

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将直接显示所有。

于 2013-10-31T08:47:04.227 回答
0

我认为您可以在加载课程#show 时调用 javascript 提交,并使用来自 _test.html.erb 的回调数据。

我认为用“脚本”类型发出重定向请求是不可能的,也是好的方法。

于 2013-10-31T08:54:52.210 回答