如何将自定义视图+控制器添加到模型?

Posted

技术标签:

【中文标题】如何将自定义视图+控制器添加到模型?【英文标题】:How do I add a custom view+controller to a model? 【发布时间】:2011-10-31 05:38:56 【问题描述】:

Rails 2.3.11

在 Rails 中,当您生成脚手架时,它会为其创建索引、显示、编辑和新视图,以及相关控制器中的许多方法。如何将自己的视图添加到模型中?

对于我的事件模型,我想添加 /events/past 以显示所有已经发生的事件。当我刚刚添加时

def past
end

events_controllercreate /views/events/past.html.erb,然后转到site.com/events/past,它会查找ID 为“past”的事件。

如果我将map.match '/events/past' => 'events#past' 添加到routes.rb,它说我必须指定控制器。

如果更改为 map.match '/events/past' => 'events#past', :controller => :events,我会返回相同的“找不到 ID=past 的事件”错误。

感谢您帮助刚接触 Rails 的人!

【问题讨论】:

【参考方案1】:

既然这是老Rails,相信你一定要用:

map.match 'events/past', :controller => "events", :action => "past"

【讨论】:

那行得通-谢谢。对于遇到此问题的其他人,由于优先级,该行需要所有 map.resources 行之前。 没问题。您可能还想查看Rails Routing from the Outside In【参考方案2】:

我相信您缺少的是 :on => :collection 位。那么我打赌顺序并不重要。

【讨论】:

以上是关于如何将自定义视图+控制器添加到模型?的主要内容,如果未能解决你的问题,请参考以下文章

将自定义视图动态添加到 iOS 中的每个视图控制器

将自定义视图控制器添加到情节提要

如何将自定义视图添加到布局?

如何将自定义视图添加到 JSQMessagesViewController 单元格,以便它包含一个带有一些按钮和文本视图的视图?

ios如何将自定义控制器重定向obj-c代码放在自定义视图中

如何将自定义视图添加到 iOS VoiceOver 转子?