1

我有票,我有回复。票有很多回复,回复属于票。在我的票/演出页面顶部,我有一个更新一些票参数的票表。开始于

= form_for @ticket do |f|

然后自行关闭。这种形式工作正常。

在同一页面上,我创建了一个“回复表单”

= form_for [@ticket, @ticket.replies.build] do |f|

然后自行关闭。问题是,如果在回复表单上调用任何活动记录验证,rails 会重定向到带有错误消息的回复控制器,但我需要它重定向到我所在的当前页面。我这辈子都想不通。谷歌搜索,尝试在回复控制器中重新指向渲染无济于事。

欢迎任何帮助。

谢谢大家。

4

1 回答 1

0

也许远程这样做会解决您的问题并带来一些用户友好性。

如果不是您的选择,请记住您应该@reply || @ticket.replies.build在表单中执行,否则如果有错误,它将不会显示在表单中。

渲染不起作用,因为它是一个不同的控制器,所以你有 2 个选项。

  1. 在您的工单控制器上创建一个新操作以创建回复并在您的表单中指定它
  2. 用于redirect_to ticket_url(@ticket, @reply)您的操作,并为此创建路线,它需要一个 :ticket_id 和 :reply_id
于 2012-05-18T00:26:53.593 回答