在Rails 3中,有没有办法在控制器中从xml生成ActiveRecord对象而无需自己编写代码来显式解析它?比方说,控制器是否可以接收xml
<user> <first_name>Bob</first_name> <last_name>Smith</last_name> </user>
解决方法
是的,你可以这样做:
@user = User.new @user.from_xml(xml_data)
更新
在覆盖时你可以做这样的事情:
#user.rb def from_xml(xml_data) book = Book.new book.from_xml(extract_xml_from(xml_data)) self.books << book super(xml_data) save book.save end
请注意,覆盖中最重要的一行是super(xml_data),它将负责调用ActiveRecord模型的原始from_xml(xml_data).因此,您可以根据需要自定义其余部分,但如果您想获得原始功能,则必须使用此行.如果有什么不清楚,请告诉我.