response_with не перенаправлять на index.html.erb

Мне нужна помощь с респондентом response_with, потому что, когда я создаю новое сообщение (в данном случае), оно не перенаправляет в указанное местоположение. Что может быть? Это часть моего кода, которая создает новое сообщение, но оно будет перенаправлено на create.html.erb, а не на index.html.erb, который я указал.

 def create
    @post = Post.create(params[:post])
    respond_with(@post, :status => :created, :location => posts_url)
 end

2 ответа

Решение

Попробуйте использовать "redirect_to" (из ACIIcasts - Controllers in Rails 3):

redirect_to @result, :notice => "Successfully converted original data."

Если вы не удовлетворены решением, я нашел обходной путь в аналогичном посте: ссылка

def convert
  @result = Result.find(params[:id])
  @result.convert_original_data
  success = @result.save
  respond_with(@result) do |format|
    format.html {redirect_to result_path(@result) } if success
  end
end

Вам не нужно указывать местоположение. Это сделает это автоматически для вас.

Все, что вам нужно сделать, это...

respond_with @post

Он установит правильный статус и перенаправит вас на posts_url.

Другие вопросы по тегам