2011-01-14 35 views
0

我正在使用名为“recover”的模型开发Rails 3项目如何使用替代名称路由到show方法?

我创建了以下工作路线。其路由到索引为我期望:

匹配 'checkedin'=> '恢复#索引', :为> 'checkedin'

的link_to '索引',checkedin_path

如何路由到show方法的id?下面的代码是我的尝试,但它不起作用。我究竟做错了什么?

匹配 'checkedin /:ID'=> '恢复#节目',:作为 => 'checkedin_show'
的link_to '节目',checkedin_show_path(@recovers)

+0

是ü得到什么错误创建方法

def show @post = Post.find(params[:id]) end 

上控制

页? – CHID 2011-01-14 18:21:18

回答

1

莫非将你的意思是写

link_to 'show', checkedin_show_path(@recover) 

公告的说法是@recover(不带 “s”)。

+0

明显!我不能相信我错过了这一点。 – 2011-01-15 16:40:44

0

大卫苏尔克的答案似乎是正确的。我的问题是“为什么你不使用这个资源?”

你的路线将是一个简单的resources :recovers, :path => 'checkedin'(...你应该添加一个下划线到checked_in以匹配典型的Rails约定)。你会得到这些路线:

recovers GET /checkedin(.:format)   
      POST /checkedin(.:format)   
new_recover GET /checkedin/new(.:format)  
edit_recover GET /checkedin/:id/edit(.:format) 
    recover GET /checkedin/:id(.:format)  
      PUT /checkedin/:id(.:format)  
      DELETE /checkedin/:id(.:format)  
0

您有创建

before_action :set_post, only: [:show, :edit] 
+0

不错的工作 – vinodh 2014-04-12 06:45:14