Ruby on rails 3.2 rails3.2.13替代编辑表单
需要:两个表格用于两步流程的编辑Ruby on rails 3.2 rails3.2.13替代编辑表单,ruby-on-rails-3.2,routes,Ruby On Rails 3.2,Routes,需要:两个表格用于两步流程的编辑 resources :evaluations do collection do get ':id/change', :action => 'change' 控制器 def change @evaluation = Evaluation.find(params[:id]) “编辑”具有指向更改操作的链接 <%= link_to 'Modify initial data', 'change' %> 但这也失败了。您需要的基本上
resources :evaluations do
collection do
get ':id/change', :action => 'change'
控制器
def change
@evaluation = Evaluation.find(params[:id])
“编辑”具有指向更改操作的链接
<%= link_to 'Modify initial data', 'change' %>
但这也失败了。您需要的基本上是一个向导。看看这个 更新 将表单分为两个(或多个)表单,根据需要分离表单属性。在控制器中添加相同数量的操作。设置表单路径以将数据提交到相应的操作 下面是一个例子: 表格1:
<%=form_for @object, :action => 'form1_action'%>
< form1 attributes >
事实证明,这种设置是有效的
def update_changed_variables
这是不需要的。相反,非常简单
change.html.erb只调用表单partial,它调用相同的
<%= form_for @evaluation [...]
那是一条大道。然而,似乎有很多元思维/工作,尤其是验证。因为我只需要调用update_属性,所以我假设它们是一个更简洁的解决方案。当然,您可以根据需要分割表单,使用单独的操作来更新表单的特定部分并来回移动;也就是重新发明轮子。
<%=form_for @object, :action => 'form2_action'%>
<form2 attributes >
<%end%>
form1_action
save object
redirect_to new_form2 if saved
end
form2_action
save object
redirect_to object_show (or another form) if saved
end
def update_changed_variables
<%= form_for @evaluation [...]