Rails多态关联 - 在验证错误时使用flash消息呈现父显示操作

时间:2010-01-19 21:23:57

标签: ruby-on-rails polymorphic-associations

我有文章,个人资料和评论。文章/简介和评论之间存在多态关联,称为可评论。

在成功创建新注释后,我返回带有成功闪存的可注释父对象,我想对验证错误上的相应错误闪存执行相同操作。

我应该传递什么来渲染?

def create
  @commentable = find_commentable
  @comment = @commentable.comments.build(params[:comment])
  if @comment.save
    flash[:notice] = "Successfully created comment."
    redirect_to @commentable
  else
    render '??path_to_commentable_object_show??'
  end
end

我想我可以通过抓住可评论的类名并小写它来构建路径......但这看起来很尴尬。

1 个答案:

答案 0 :(得分:0)

从可评论类构建路径通常是我要做的。

实际上,您可以构建路径路径助手名称,然后将其发送到控制器

path = "edit_"+commentable.class.to_s.dasherize.downcase+"_path
send(path.intern)