respond_with不会重定向到index.html.erb

时间:2011-12-27 12:47:06

标签: ruby-on-rails-3 respond-with

我需要帮助响应者respond_with,'因为当我创建一个新帖子(在这种情况下)它不会重定向到指定的位置。什么可以?这是我创建新帖子的代码,但它被重定向到create.html.erb而不是我指定的index.html.erb。

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

2 个答案:

答案 0 :(得分:1)

尝试使用“redirect_to”(来自ACIIcasts - Controllers in Rails 3):

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

如果您对解决方案不满意,我会在类似帖子中找到解决方法:link

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

答案 1 :(得分:0)

您无需提供位置。它将自动为您完成。

您需要做的就是......

respond_with @post

它将设置正确的状态并将您重定向到posts_url。