我正在渲染一个新动作,但不知何故得到了“索引”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'
答案 0 :(得分:0)
当您渲染时,您只需获取将作为响应正文返回给浏览器的内容。 On Rendering your url is not get changed.
创建脚手架应用程序的最佳示例。因此,当您在新内容上提交表单并出现错误时,会显示“new.html.erb”,但您的网址会显示domain_name/controller_name/create
希望有所帮助:)