我有一个silverlight应用程序,需要与rails应用程序通信才能添加记录。假设一切顺利,我已经能够成功地使用Silverlight应用程序进行POST。但是,现在,我需要能够使其更强大,并让rails应用程序以可读取的格式(xml可能?)将错误/成功消息返回到silverlight应用程序。我可以根据需要修改rails app和silverlight应用程序。
使用rails实现此目的的最佳方法是什么?
答案 0 :(得分:6)
Rails处理大部分开箱即用。
您需要查看 respond_to
这将以@list格式返回@list中的记录:
@list = Model.find(:all)
respond_to do |format|
format.html { render :action => "index" }
format.xml { render :xml => @list }
end
您可以使用http标头设置状态(对于不返回任何内容的操作):
format.xml { head :ok }
您可以提供更复杂的消息,在这种情况下,返回Active Record错误和状态消息:
format.xml { render :xml => @model.errors, :status => :unprocessable_entity }
答案 1 :(得分:1)
这与任何典型的Rails应用程序几乎相同。
唯一的区别是您将使用xml(或json,或Silverlight可以解析的任何其他内容)响应任何相关操作。 (而不是渲染HTML页面。)