[英]How do I pass a parameter to a form in Rails that persists on validation error?
我试图在Rails中创建一个分层菜单系统。 我的菜单模型在树数据结构中,我需要将父信息传递给新操作。 我发现做到这一点的最好方法是将父母的ID作为查询字符串传递。 除非验证阻止创建,否则此方法有效。 问题在于,呈现新视图之后,URL中不再存在该参数。
我在这方面走错了方向吗? 我应该只在会话中保留值吗? 我应该创建一个下拉菜单来选择父项吗(我宁愿让用户单击“在此处添加新项”)。 这肯定是一个普遍的问题,但是我还没有找到相关的东西。
更新:为了澄清一个问题,我尝试执行以下操作以在失败情况下呈现视图时传递参数,但此时已设置了url(我们已将其发布到控制器的基本url)。
format.html { render :action => "new", :parent_id=> params[:parent_id] }
我需要另一种传递参数的方法。
我想到了。 我只是添加了一个隐藏字段来保存parent_id。 当浏览器请求新表单时,我将parent_id放入模型对象中,并将其持久保存在psotback上。
您尝试实现的目标还不是100%清楚。
操作验证失败后,您是否再次渲染视图? 您是否可以仅将parent_id作为参数传递给此视图?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.