当调用show动作时,Rails执行编辑

时间:2012-01-17 22:50:19

标签: jquery ruby-on-rails ruby alias

我有一个rails控制器,其中edit操作显示一个表单,可以更改对象的所有值。所以,现在当用户访问/controller/1时,我想做的就像访问/controller/1/edit一样。

我必须在不修改或添加路由的情况下实现此目的,也不必在控制器中使用redirect_to。否则JQueryMobile将跟踪其历史记录中的重定向。

我试图通过alias :show :edit以ruby方式执行此操作,但由于rails仍在搜索show.html.erb

,因此失败了

怎么做?

2 个答案:

答案 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