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

相关问题