2011-01-21 40 views
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 

的思考?它應該只是一個返回的數組,即使它是一個記錄?

回答

1

render :xml => @members是要走的路。

確保在生產中進行此更改後重新加載/重新啓動服務器。

+0

我已經做了一百萬次的人,但我會再試一次。這一個將要採取超自然的巫術泥濘做工作。 – pjammer 2011-01-21 19:18:47

相關問題