Rails,相同的视图,不同的控制器

时间:2010-09-01 10:07:17

标签: ruby-on-rails routing views

map.resources:人员

map.resources:people

class Persons_controller < ApplicationController::Base
  #the whole logic for the controller
end

class People_controller < PersonsController
  #nothing special there
end

当我从http://mydomain.com/people/1访问我的应用时,如何使用/ app / views / persons /中的视图?

我收到关于缺少人/ show.erb视图的错误,我不想使用任何符号链接

2 个答案:

答案 0 :(得分:0)

http://api.rubyonrails.org/classes/ActionView/Partials.html

在您的观看中,我建议您创建一个共享文件夹来存储共享视图。

/views/shared
/views/shared/_people.html.haml

然后你可以做一些你想要使用那个部分的东西。

render :partial => "shared/people"

您仍需要在每个目录中创建操作视图,而只需渲染共享部分。

答案 1 :(得分:0)

我认为正确的做法是遵循David Lyod的建议。这是一个更好的组织,你总是知道你的共享文件在哪里。但是,您仍然可以通过将部分_people.html.erb放在views / persons目录中来使用相同的概念。然后在使用它的人物视图文件中

render :partial => "persons/people"

希望这有帮助。