我现在正在开发Todo应用程序,但我遇到了麻烦。登录后,我在人员档案(第一个控制器)上,我有新项目按钮(项目控制器-2d控制器),按下后,出现新任务按钮(任务控制器-3d控制器)。如何将所有这3个控制器的视图放在一个页面上。这是我的意思(大约)的一个例子:http://todo.kzotov.ru/
答案 0 :(得分:1)
您可以在视图中放置任何内容。您可以急切地加载项目和任务,并将其全部放在配置文件页面上。您也不必将控制器和视图映射到模型,因此如果PersonsController或其他任何东西不是您正在寻找的东西,可能会做一些更具体的事情,比如ProfilesController并在那里托管所有这些功能。
答案 1 :(得分:1)
<强> MVC 强>
您最好阅读MVC programming pattern -
最重要的是,如果您向应用程序发送请求,则只会点击一个 controller#action
。您的多个“控制器”不应该被考虑 - 您应该只查看您在该特定时间访问的单个控制器操作。
为了更具体地说明这一点,让我详细说明它是如何运作的......
<强> OOP 强>
Ruby(在Rails之上是一个框架),是object orientated。
这不仅仅是一个奇特的短语 - 它是一种真正的编程模式,它允许您围绕要创建的数据/对象聚焦应用程序的 flow 。 Rails中的对象来自您的Model
s - 整理&amp;为controllers
为了理解Rails的工作原理 - 您需要了解您所做的一切基于objects
。你的路线,行动&amp;数据全部协同工作,提供我们从Rails中了解到的最终用户体验。发生的事情取决于你。
具体来说,您想查看您正在访问的
您不想加载多个控制器 - 您想构建多个模型并显示它们。这使您能够显示所需的HTML元素/文件:
<强>建议强>
我会确保您可以将所有活动都放在单个视图上,这意味着您必须确定控制器的数据,以便为您提供显示所需的数据:
#app/controllers/profiles_controller.rb
class ProfilesController < ApplicationController
def index
#your index
end
end
#app/views/profile/index.html.erb
<%= link_to "task", task_path %>
您可能想要做的是创建一个单独的路径/方法,使他们能够在单击初始按钮时撤回ajax数据。如果你需要的话我可以详细说明,但是我给你的东西应该是充足的思考