2010-10-07 102 views
1

呼籲行動我有一個叫蠢特夫婦控制器控制器..在這裏我有幾個動作與第三方API進行通信。它有幾個動作來驗證和一些操作來獲得與API的幫助一些值。現在我有另一個名爲home的控制器,並且在這個控制器的索引頁面中,我必須調用twits控制器的動作,並且在索引頁面渲染時發生這種情況。請指教。在其他控制器

回答

0

調用一個控制器的動作到另一個通常是一個壞主意。您應該將功能提取到模塊或類中並在兩個控制器中使用。

所以你的情況,你應該寫一個包裝類與第三方API通信,然後使用該包裝。請注意,這個包裝類不是一般用途的抽象包裝,而是您的遺留代碼提供的功能,您打算重複使用。

希望這會有所幫助。如果不是,請嘗試發佈一些代碼,也許我可以提出更多建議。

+0

高清direct_messages 如果current_user.has_twitter_oauth? @T_OAUTH = TwitterOAuth對象:: Client.new(:CONSUMER_KEY => 「13OwrOWn1Qw6hpZVYkaJdA」, :CONSUMER_SECRET => 「qaoLH9Ia5cCkQ9cCkPE9uVpEI0h6ypKuBf17tGqbd2M」:標記=> current_user.twitter_account.token, :祕密=> current_user.twitter_account.secret) 如果@ T_OAUTH.authorized?和@ T_OAUTH.messages #標識= Stream.find_since_id @messages_hash = @ T_OAUTH.messages -----------------此@message_hash我需要它另一個控制器查看.. – 2010-10-07 04:25:13

+0

這應該被重構爲在用戶模型中。 'consumer_key'和'consumer_secret'應該在配置文件中。 – Swanand 2010-10-07 04:29:01

+0

我們有很多第三方服務被調用。如果一切都進入用戶模型,它將是混亂的權利。這就是爲什麼我們爲不同的API調用保留不同的控制器。 – 2010-10-07 04:50:32