我通過REST API試圖用戶管理平臺,以保持和更新項目的成員,如http://www.redmine.org/projects/redmine/wiki/Rest_MembershipsRails ActiveResource :: Base或Redmine錯誤?
解釋爲了做到這一點,包括我,在我的客戶端應用程序,寫的回報率,下面的' redmine_project」模式:
class RedmineProject < ActiveResource::Base
self.site ='http://localhost:3001'
self.format = :json
self.user = 'admin'
self.password = 'admin'
self.element_name = 'project'
self.collection_name = 'projects'
end
然後,在我的控制檯,我想包括一個新的成員,使用以下命令:
RedmineProject.find(4).post(:memberships,:user_id => 12, :role_ids => [4])
的稱道的第一部分是通過正確處理管理平臺(AC tually,如果我只是嘗試RedmineProject.find(4)我得到我的項目數據的JSON),但.. 我無法發佈新成員與
。員額(:會員資格, :USER_ID => 12,:role_ids => [4])
這是我的應用程序控制臺的結果:
ActiveResource::ServerError: Failed. Response code = 500. Response message = Internal Server Error .
from /home/marc/.rvm/gems/ruby-1.9.3-p448/gems/activeresource-3.2.13/lib/active_resource/connection.rb:148:in `handle_response'
和這裏是redmine的終端的結果:
Started POST "/projects/4/memberships.json?role_ids%5B%5D=4&user_id=12" for 127.0.0.1 at 2013-10-24 21:32:41 +0200
Processing by MembersController#create as JSON
Parameters: {"project"=>{"created_on"=>"2013-10-23T00:58:15Z", "description"=>"azfazfazf zaf azffza", "homepage"=>"", "id"=>4, "identifier"=>"team-35", "name"=>"azfazf", "updated_on"=>"2013-10-23T00:58:15Z"}, "role_ids"=>["4"], "user_id"=>"12", "project_id"=>"4"}
WARNING: Can't verify CSRF token authenticity
(0.6ms) SELECT MAX(`settings`.`updated_on`) AS max_id FROM `settings`
User Load (0.9ms) SELECT `users`.* FROM `users` WHERE `users`.`type` IN ('User', 'AnonymousUser') AND `users`.`login` = 'admin'
SQL (95.6ms) UPDATE `users` SET `last_login_on` = '2013-10-24 21:32:41' WHERE `users`.`type` IN ('User', 'AnonymousUser') AND `users`.`id` = 1
Current user: admin (id=1)
Project Load (0.4ms) SELECT `projects`.* FROM `projects` WHERE `projects`.`id` = 4 LIMIT 1
EnabledModule Load (0.4ms) SELECT name FROM `enabled_modules` WHERE `enabled_modules`.`project_id` = 4
Completed 500 Internal Server Error in 127ms
NoMethodError (undefined method `valid?' for nil:NilClass):
app/controllers/members_controller.rb:70:in `block (2 levels) in create'
app/controllers/members_controller.rb:65:in `create'
我的代碼有問題嗎?還是(不太可能)的錯誤?
您好,感謝您的幫助@gotva了很多,唯一的一點是,我需要包括,在參數:會員資格(無S),因此我們有: '.POST(:會員資格,:會員=> {:USER_ID => 12,:role_ids => [4]})' 非常感謝,我不能沒有你:) –