Rails 5,添加了动作控制器无法正确渲染

时间:2016-10-28 10:05:41

标签: ruby-on-rails

我已经在我的控制器用户处添加了两项新动作

def show
end

def setting
end

def myhome
end

和route.rb中的路由

resources :users do
   collection do
      get 'myhome'
   end
   member do
      get 'setting
   end
end

同样在用户视图中,我添加了'setting.html.erb''myhome.html.erb'

页面

现在,如果我浏览'/users/1/setting',我会看到正确的页面,但如果我浏览'users/myhome',则会看到show.html.erb页。

我真的不明白。

1 个答案:

答案 0 :(得分:0)

嗯,解决方案很简单。 在route.rb中,您需要将通用资源:用户放在自定义路由之后,所以:

resources :users do
   get 'myhome', as: collection
   get 'setting', as: member
end

编辑:此路由还包括REST标准路由。 通过这种方式,动作获取'myhome'将不会被'解释'为show