0

我有一个模型“Voyage”,它需要几种不同类型的表格。

有到达表、离开表、登记表等。

目前,我通过在控制器中创建新操作来实现这一点,例如

    def arrival_form
    ...
    end

    def departure_form
    ...
    end

所有这些基本上都是编辑/更新操作。

我觉得可能有更好,更清洁的方法来做到这一点,但我只是无法弄清楚。

4

1 回答 1

1

您当然可以通过选择这样的通用视图来呈现您的表单:

def edit
  # logic omitted
  render "#{params[:state]}_form" if Voyage::STATES.include? params[:state]
end

或者,如果您的表单是某种 step_by_step 向导,您可以在表单生成中使用 @voyage.state。我想你应该已经明白了。你应该Voyage用行动更新你的实例update就好了。

于 2012-10-09T08:55:04.840 回答