【问题标题】:Rails, same view, different controllersRails,相同的视图,不同的控制器
【发布时间】:2010-09-01 10:07:17
【问题描述】:

地图资源:人员

地图资源:人

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 视图的错误,我不想使用任何符号链接

【问题讨论】:

    标签: ruby-on-rails routing views


    【解决方案1】:

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

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

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

    然后你可以做一些事情,比如你想在哪里使用那个部分。

    render :partial => "shared/people"
    

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

    【讨论】:

      【解决方案2】:

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

      render :partial => "persons/people"
      

      希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-12-14
        • 1970-01-01
        • 1970-01-01
        • 2012-05-02
        • 1970-01-01
        • 1970-01-01
        • 2019-09-28
        • 2013-04-28
        相关资源
        最近更新 更多