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.