繁体   English   中英

如何将参数传递给Rails中的表单,该表单在验证错误时仍然存在?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM