如何将自定义视图+控制器添加到模型?
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_controller
和create /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 位。那么我打赌顺序并不重要。
【讨论】:
以上是关于如何将自定义视图+控制器添加到模型?的主要内容,如果未能解决你的问题,请参考以下文章
如何将自定义视图添加到 JSQMessagesViewController 单元格,以便它包含一个带有一些按钮和文本视图的视图?