2015-11-20 39 views
1

有沒有辦法檢查控制器是否存在索引操作?喜歡的東西:Rails檢查控制器索引是否存在

Controller.indexActionExists? 

我看到的帖子,以檢查是否存在特定的路線,但這些方法不是爲我工作,因爲我的一些指標的行動不與路線有關。

+0

你爲什麼要這麼做...? – sevenseacat

+0

使用link_to創建一個索引頁面,但是我一直從索引未實現的控制器收到錯誤。如果我可以捕捉到一個不好的link_to,那也可以起作用,但是它必須比檢查url是否存在更好,因爲問題是首先放置url。 –

回答

4

action_methods方法將是在這種情況下,最方便的工具,返回的方法的名字Set。給下面的代碼一個鏡頭:

# Get a set of method names belonging to a controller called 'MyController' 

methods = MyController.action_methods 

if methods.include? "index" 
    puts "MyController has an index method" 
else 
    puts "MyController lacks an index method" 
end