呈现新操作时出现奇怪的Rails URL问题

时间:2010-06-10 03:37:19

标签: ruby-on-rails routing

我正在渲染一个新动作,但不知何故得到了“索引”URL。更具体地说,我的创建操作如下所示:

class ListingsController < ApplicationController
    def create
        @listing = Listing.new(params[:listing])
        @listing.user = @current_user

        if @listing.save
          redirect_to @listing
        else
          flash[:error] = "There were errors"
          render :action => "new"
        end
      end
end

如果有错误,我会收到“新”操作,但我的网址是索引网址 - http://domain.com/listings

任何人都知道为什么会这样吗?我的路线文件非常标准:

map.connect 'listings/send_message', :controller => 'listings', :action => 'send_message'
  map.resources :listings
map.root :controller => "listings"
map.connect ':controller/:action/:id'
  map.connect ':controller/:action/:id.:format'

1 个答案:

答案 0 :(得分:0)

当您渲染时,您只需获取将作为响应正文返回给浏览器的内容。 On Rendering your url is not get changed.

创建脚手架应用程序的最佳示例。因此,当您在新内容上提交表单并出现错误时,会显示“new.html.erb”,但您的网址会显示domain_name/controller_name/create

希望有所帮助:)