【发布时间】:2011-11-29 20:40:30
【问题描述】:
我已使用 -
向我的应用添加了资源路由resources :cars
我用脚手架来做这个
然后我更改了路线,以便用户可以使用以下网址编辑汽车 - mydomain.com/CARNAME
match "/:car" =>"cars#edit", :as => :edit_car
match "/:car/thanks" =>"cars#thanks", :as => :thanks
我的编辑操作如下所示 -
def edit
@car = Car.find_by_name(params[:car]) || not_found
end
我的问题是在编辑页面 (mydomain.com/CARNAME) 呈现这样的表单 -
<form accept-charset="UTF-8" action="/cars/2" class="edit_car" id="edit_car_2" method="post">
我想隐藏汽车的 ID 我希望它看起来像这样 -
<form accept-charset="UTF-8" action="/cars/CARNAME" class="edit_car" id="edit_car_CARNAME" method="post">
我此刻的更新动作是这样的——
def update
@car = Car.find(params[:id]) #I'll have to change this to - Car.find_by_name(params[:name])
if @car.update_attributes(params[:car])
format.html { redirect_to(thanks_path(@car.name)) }
else
format.html { render action: "edit" }
end
end
我还希望更新操作重定向回编辑操作 (mydomain.com/CARNAME) 并继续解决任何验证问题。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 routing