我有一个模型“Voyage”,需要几种不同类型的表格。
有到达表格,出发表格,登记表格等。
目前,我通过在控制器中创建新操作来实现此功能,例如
def arrival_form
...
end
def departure_form
...
end
所有这些基本上都是编辑/更新操作。
我觉得可能有一种更好,更清洁的方法,但我只是无法弄明白。
答案 0 :(得分:1)
您当然可以通过选择这样的通用视图来呈现您的表单:
def edit
# logic omitted
render "#{params[:state]}_form" if Voyage::STATES.include? params[:state]
end
或者,如果您的表单是某种step_by_step向导,则可以在表单生成中使用@ voyage.state。我想你应该已经明白了。
您应该使用Voyage
操作更新update
个实例。