我制作的网站类似于TaskRabbit,其中有许多演出类别,每个演出类别都有不同的演出创作形式。我使用case / switch语句来呈现表单。
例如......(代码略有简化以取出子类别ID) 在New Gig模板中:
<% case GigCategory.find(params[:gig_category_id]).name %>
<% when "Yard Work" %>
<%= render partial: 'gigs/forms/lawnmowingform' %>
<% end %>
<% end %>
等...
问题是,当验证失败时,由于模板中的switch语句,我无法在控制器操作中重新呈现表单。我目前已将其设置为在表单验证失败后重定向,但会清除表单以删除用户的输入。
示例:
if @gig.save
redirect_to @gig, notice: "Gig submitted!"
else
@gig.errors.full_messages.each do |msg|
flash[:error] << msg
end
redirect_to new_gig_path(gig_params[:gig_sub_category_id])
end
有没有办法让表格“粘”&#34;以便在重定向后保存变量?
谢谢, 扎克