articles
和comments
。articles
有很多comments
。comments
不能为空字符串。在articles#index
上,我在每篇文章下面都有几个文本字段(用户名,comment_text等),供用户发表评论。
当用户提交空注释时,rails会执行其验证作业,并且comments#create
上的保存方法会失败。我现在想回到articles#index
并显示相应的错误消息。这是我需要帮助的地方。
似乎我只有两个选择,其中没有一个让我满意。之一:
我render
articles#index
来自comments#create
的视图,但我必须以某种方式复制articles#index
的所有代码并且用户停留在一个不合适的网址上{comments#create
,当他们articles#index
呈现时
或者redirect_to
articles#index
但我丢失了评论对象。使用flash消息不会在这里为我做,我真的需要保持我的对象具有所有属性
有没有办法在保留评论对象的同时返回articles#index
?这个用例中的最佳实践是什么?
PS:我希望不要在这里使用任何javascript / ajax。
答案 0 :(得分:0)
我认为一种合法的方法是设置一个临时会话变量,然后在下一次请求中加载它后清除它。
实现此目的的另一种方法是在查询字符串中的下一个请求中传递params。 像这样:
redirect_to(foo_path, bar_attributes)
其中bar_attributes
将是哈希值。