我的主页(或欢迎页面)将包含来自两个模型的数据(让我们称它们为作者和帖子).我是rails新手,不确定实现这一点的最佳方式是什么.
我是否应该创建一个名为welcome的新控制器,它从作者和帖子中收集数据,然后在welcome index视图中显示它们?或者我应该在post模型下有一个受欢迎的观点,它也从作者那里获取数据?或者其他方法来实现这一点?
我理解如何在技术上做到这一切,但不确定使用rails框架的最佳实践方法是什么.
我的主页(或欢迎页面)将包含来自两个模型的数据(让我们称它们为作者和帖子).我是rails新手,不确定实现这一点的最佳方式是什么.
我是否应该创建一个名为welcome的新控制器,它从作者和帖子中收集数据,然后在welcome index视图中显示它们?或者我应该在post模型下有一个受欢迎的观点,它也从作者那里获取数据?或者其他方法来实现这一点?
我理解如何在技术上做到这一切,但不确定使用rails框架的最佳实践方法是什么.
问题是,你的主页只是一个登录页还是一组页面?如果它只是一个登录页,你不会期望你的用户在那里停留很长时间,除非go 其他地方.如果是一组页面,或与现有组类似,则可以向最像的控制器添加操作.
我为当前项目所做的是制作一个名为Static
的控制器,因为我需要3个静态页面.主页就是其中之一,因为除了go 别处,没有什么可看或可做的.
要映射默认路由,请在routes.rb
中使用以下命令:
# Place at the end of the routing!
map.root :controller => 'MyController', :action => :index
就我而言,这将是:
map.root :controller => 'static', :action => :index
如果你愿意,你可以为这个主页创建一个控制器.我把它叫做main,或者你能记住的与主页相关的东西.从那里你可以得到你的数据和模型,并遵从输出视图.
class MainController < ApplicationController
def index
@posts = Posts.find(:all, :limit => 10, :order => 'date_posted', :include => :user)
end
end
假设您正确定义了模型关系,那么匹配它的模板将非常简单.
祝你好运,希望这有帮助.