我有一个rails控制器,其中edit
操作显示一个表单,可以更改对象的所有值。所以,现在当用户访问/controller/1
时,我想做的就像访问/controller/1/edit
一样。
我必须在不修改或添加路由的情况下实现此目的,也不必在控制器中使用redirect_to
。否则JQueryMobile将跟踪其历史记录中的重定向。
我试图通过alias :show :edit
以ruby方式执行此操作,但由于rails仍在搜索show.html.erb
怎么做?
答案 0 :(得分:1)
我相信您可以按如下方式定义show
操作:
def show
edit
render :action => :edit
end
但这真的很尴尬。如果您有任何edit
动作,它肯定会忽略所有过滤器。
为什么你不能在路线中使用某些规则呢?或者最好不要将用户发送到show
行动?
答案 1 :(得分:0)
添加自定义路线以将展示操作映射到编辑操作。
resources :users, except: :show do
get "", as: "", on: :member, to: :edit
end