Rails polymorphic assosication - при ошибке валидации рендеринг родительского шоу с флэш-сообщением - PullRequest
0 голосов
/ 20 января 2010

У меня есть статьи, профили и комментарии.Существует полиморфная связь между статьями / профилями и комментариями, называемыми commentable.

При успешном создании нового комментария я возвращаюсь к родительскому объекту с комментариями с успешной вспышкой и хочу сделать то же самое с соответствующей ошибкой flash.на ошибки валидации.

Что я должен передать для рендеринга?

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 голосов
/ 20 января 2010

Построение пути из комментируемого класса - это вообще то, что я бы сделал.

Фактически, вы можете создать имя помощника маршрута и затем отправить его на контроллер

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