是否有任何方法我应该在rails3.2源代码中查看,以便知道渲染调用的导航或url部分在哪里得到解决? 原因是,我有一个小应用程序,其中URL的形式是当你在Rails控制器动作中调用render时,url路径在哪里解决?
www.example.com/bob/edit
因为它表明上述路线呈现编辑form.EDIT :我能够通过修改link_to helper上的响应来获得此路由。
def update
#when validation passes
redirect_to @user
#when validation fails
respond_to do |format|
format.html {render :action => "edit"}
end
end
现在的问题是,当在提交发生验证错误更新users_controller的作用, 则网址
www.example.com/users/bob/edit
的config/routes.rb中
get "users/new", to: => "users#new"
resources :users
,你可以见T这里是在路线什么有趣的事情发生,
在模型/user.rb
def to_param
"#{name}"
end
的意见
/edit.html.erb
form_for(@user) do |f|
end
观察:这里时,形式是重新渲染,形成'action'指向“users/bob”,但是当表单被重新渲染时,验证错误的形式动作会被mysteriosly更改为“users /”,而且如果我删除了to_param user.rb模型,它工作正常
虽然它不是什么大不了的,我想在那里,如果我需要重写是在渲染调用生成的URL,改变?????
任何建议和指向探索的wecome ....
我猜谢胜利,网址例子应该是:'www.example。com/users/bob' - 你显示了两次相同的网址。 – jdoe 2012-04-21 10:50:26
你可以发布你的'routes.rb'吗? – shime 2012-04-21 10:52:07
似乎您的表单实际上是将更新放入第二个网址。你在使用足智多谋的路线吗?如果是这样,它是一个单一的资源或复数? – Jef 2012-04-21 11:15:56