红宝石铁轨 - 保存方法

时间:2012-04-08 04:55:05

标签: ruby-on-rails ruby-on-rails-3 soap savon

我创建了一个数据模型,我使用的是mysql数据库。我使用savon来处理SOAP请求。在控制台上,我可以看到SOAP控制器调试创建数据。部分工作的大部分工作,期望保存创建的信息。

如何引入save方法?我想从soap请求中保存成功收到的响应。实际代码很大,所以尝试跳过它在这里发布。如果需要,我会发布。

rails g model ticket ticket_num:string t_status:string priority:string solution:string  misc:string
rails generate controller ticket create
rake db:migrate

控制器代码:

class TicketController < ApplicationController
  def create
    ticket = Ticket.createticket(params[:caller], current_user.user_id, current_user.firstname, current_user.lastname, current_user.email)
    ticket.save
  end
end

错误消息:

NoMethodError in TicketController#create

undefined method `save' for #<Savon::SOAP::Response:0xaed6da4>

1 个答案:

答案 0 :(得分:1)

在没有看到代码的情况下很难分辨,但我猜测问题是你没有在Ticket方法结束时返回新创建的Ticket.createticket对象。您可能在方法的最后一行使用Savon客户端执行某些操作,因此它将返回而不是新的Ticket对象。