【问题标题】:Rails polymorphic assosication - on validation error render parent show action with flash messageRails 多态关联 - 在验证错误时渲染父显示操作并显示 Flash 消息
【发布时间】:2010-01-19 21:23:57
【问题描述】:

我有文章、个人资料和 cmets。文章/个人资料和 cmets 之间存在一种称为可评论的多态关联。

成功创建新评论后,我会返回可评论的父对象并显示成功闪烁,并且我希望在验证错误时使用相应的错误闪烁来执行相同操作。

我应该传递什么来渲染?

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

我想我可以通过获取可注释的类名并将其小写来构建路径……但这似乎很尴尬。

【问题讨论】:

  • 您找到解决方案了吗?我遇到了同样的问题,不知道如何显示关联模型的验证错误。

标签: ruby-on-rails polymorphic-associations


【解决方案1】:

从可注释类构建路径通常是我会做的。

事实上,你可以构建路径路由助手名称,然后将其发送给控制器

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

【讨论】:

  • 我需要加载可评论对象,然后为它渲染显示页面...也就是将他们带回到他们尝试评论的文章的显示页面,显示 flash 错误消息,然后仍然具有他们尝试输入的原始值。对于我可以做的非多态版本:@article = @comment.article render 'article/show'
猜你喜欢
  • 1970-01-01
  • 2022-07-07
  • 2022-06-20
  • 1970-01-01
  • 1970-01-01
  • 2016-11-08
  • 2022-01-26
  • 2021-06-13
  • 1970-01-01
相关资源
最近更新 更多