1
我试图运行一个系统调用,它将一个活动发布到Facebook上的用户。 当我在命令行上运行它时,一切正常,但在我的RoR控制器上,我没有得到任何结果。我拥有为用户发布活动所需的所有权限,并且我已经尝试使用system(),反引号(`),exec()和%x,但仍然没有运气。 对此有何想法?这里是我的代码:Ruby运行shell命令不工作(对于facebook应用程序)
post = "curl -F 'access_token=#{session[:access_token]}' -F 'achievement=https://example.com/main/fbobject' 'https://graph.facebook.com/me/app_fb:send'"
system(post)
你可以发布'curl'命令的结果吗?(通过渲染它或某物)?另外,您是在自己的计算机上还是在服务器上运行RoR服务器?如果你在服务器上运行它,也许你没有权限在该机器上运行shell命令。 –
'system'只返回true,false或nil,请尝试反引号并打印出结果。不要使用'exec'(http://rubyquicktips.com/post/5862861056/execute-shell-commands) –