我无法从创建控制器中调用模型的显示路径。
我在 Rails 3.2 应用程序中使用 Koala gem。当用户创建特定记录类型时,我正在尝试自动发布到 Facebook 的开放图表。
我有一个页面设置了所有必需的 FB 元标记。
我可以从控制台运行 Koala 方法,一切正常。
但是,如果我尝试从控制器运行它,我会收到错误消息。
我的控制器如下所示:
def create
@fb_model = current_user.fb_models.build(params[:fb_model])
if @fb_model.save
Koala::Facebook::API.new(app_token).put_connections( current_user.fb_uid, "namespace:action", :object => fb_model_url(@fb_model) )
respond_to do |format|
format.html { redirect_to(@fb_model, :notice => 'Successfully created.') }
format.xml { render :xml => @fb_model, :status => :created, :location => @fb_model }
end
else
respond_to do |format|
format.html { render :action => "new" }
format.xml { render :xml => @fb_model.errors, :status => :unprocessable_entity }
end
end
end
当我创建记录时,我的日志显示:
Koala::Facebook::APIError (HTTP 500: Response body: {"error":{"type":"Exception","message":"Could not retrieve data from URL."}}):
如果我编辑控制器以使用静态 url 进行测试,一切正常。
...
if @fb_model.save
Koala::Facebook::API.new(app_token).put_connections( current_user.fb_uid, "namespace:action", :object => "http://myapp.com/fb_model/2" )
...
为什么我不能使用 create 控制器将记录的 url 传递给 FB fb_model_url(@fb_model)
?