0
我做错了什么。在rails 3.0.1中需要的xml格式???答案应该是NO
我什么都没变,但现在是2011年,这个调用不像以前那样工作。
使用Active资源,我可以做以下电话:
>> Member.find(:all, :params => {:code => "1stb48024957856464d436e79ad9d7bc0c2d46d5a02"}) GET http://localhost:3000/members.xml?code=1stb48024957856464d436e79ad9d7bc0c2d46d5a02 --> 500 Internal Server Error (1601 371ms) ActiveResource::ServerError: Failed with 500 Internal Server Error
正如你所看到的,我得到一个500错误。所以我去我的服务器去了我打电话的地方。
的代码是在这里的控制器:
def index
@store = Store.first
@members = @store.members.find_by_code(params[:code])
respond_to do |format|
format.html # index.html.erb
format.xml { render @members.to_xml } # i also tried :xml => @members but that screws up too the same way.
end
end
但低于是堆栈跟踪。它为什么这个刚刚停止工作正在做我的头。
Started GET "/members.xml?code=1stb48024957856464d436e79ad9d7bc0c2d46d5a02" for 127.0.0.1 at 2011-01-21 13:58:00 -0500
Processing by MembersController#index as XML
Parameters: {"code"=>"1stb48024957856464d436e79ad9d7bc0c2d46d5a02"}
SQL (0.8ms) SHOW TABLES
Store Load (0.4ms) SELECT `stores`.* FROM `stores` LIMIT 1
Member Load (0.8ms) SELECT `members`.* FROM `members` WHERE (`members`.store_id = 1) AND (`members`.`code` = '1stb48024957856464d436e79ad9d7bc0c2d46d5a02') LIMIT 1
Completed in 268ms
ActionView::MissingTemplate (Missing template
4
1stb48024957856464d436e79ad9d7bc0c2d46d5a02
2010-12-02T20:14:54Z
3
70.2
10
http://fnd.nu/7
1
2010-12-09T15:37:42Z
with {:handlers=>[:erb, :rjs, :builder, :rhtml, :rxml], :formats=>[:xml], :locale=>[:en, :en]} in view paths "/Users/nerb/current_project/fund/app/views", "/Users/nerb/.rvm/gems/ruby-1.9.2-p0/gems/devise-1.1.3/app/views", "/Users/nerb/current_project/fund", "/"):
app/controllers/members_controller.rb:16:in `block (2 levels) in index'
app/controllers/members_controller.rb:14:in `index'
Rendered /Users/nerb/.rvm/gems/ruby-1.9.2-p0/gems/actionpack-3.0.1/lib/action_dispatch/middleware/templates/rescues/missing_template.erb within rescues/layout (31.6ms)
任何想法表示赞赏。我以为xml格式是从渲染中消失的?何塞在这个lighthouse ticket中说了很多,但我找不到他在说什么。
UPDATE:
安迪是担任服务器似乎是发送一个200次这样的感谢,但现在我得到这个错误:
Member.find(:all, :params => {:code => "1stb48024957856464d436e79ad9d7bc0c2d46d5a02"}) GET http://localhost:3000/members.xml?code=1stb48024957856464d436e79ad9d7bc0c2d46d5a02 --> 200 OK (472 399ms) NoMethodError: undefined method `collect!' for # from /Users/nerb/.rvm/gems/ruby-1.8.7-p249/gems/activeresource-2.3.5/lib/active_resource/base.rb:662:in `instantiate_collection' from /Users/nerb/.rvm/gems/ruby-1.8.7-p249/gems/activeresource-2.3.5/lib/active_resource/base.rb:639:in `find_every' from /Users/nerb/.rvm/gems/ruby-1.8.7-p249/gems/activeresource-2.3.5/lib/active_resource/base.rb:582:in `find' from (irb):1
的思考?它应该只是一个返回的数组,即使它是一个记录?
我已经做了一百万次的人,但我会再试一次。这一个将要采取超自然的巫术泥泞做工作。 – pjammer 2011-01-21 19:18:47