我需要帮助响应者respond_with,'因为当我创建一个新帖子(在这种情况下)它不会重定向到指定的位置。什么可以?这是我创建新帖子的代码,但它被重定向到create.html.erb而不是我指定的index.html.erb。
def create
@post = Post.create(params[:post])
respond_with(@post, :status => :created, :location => posts_url)
end
答案 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。