2010-08-02 102 views
2

我用我的Rails应用程序下面的宝石:将提交添加到Rails应用程序?

http://github.com/fnando/post_commit 

我想学习如何在我的应用程序发送数据到服务提供商,如篝火上创造的记录。

使用营火作为测试在我kase.rb模型我有以下几点:

# Campfire 
post_commit :campfire do 
authorize :subdomain => "XXXXXXXXXX", :token => "XXXXXXXXXXXX", :room => 'XXXXXXX' 
post "New Record", :type => :text 
end 

在我kases_controller.rb如下:

# POST /kases 
    # POST /kases.xml 
    def create 
    @company = Company.find(params[:kase][:company_id]) 
    @kase = @company.kases.create!(params[:kase]) 

    respond_to do |format| 
     @kase.sendtocampfire if params[:send_to_campfire] 

     #flash[:notice] = 'Record was successfully created.' 
     flash[:notice] = fading_flash_message("Record was successfully created.", 5) 

     format.html { redirect_to(@kase) } 
     format.xml { render :xml => @kase, :status => :created, :location => @kase } 
    end 
    end 

在我看来,以下几点:

<%= check_box_tag :send_to_campfire, 1, true %> Send Case to Campfire? 

当使用上面的代码时,我得到一个错误:

NoMethodError in KasesController#create 

undefined method `post_commit' for #<Class:0x10528e3e8> 

请问有人能指出我正确的方向吗?

感谢,

丹尼

回答

1

您可能需要明确requirepost_commit使用前或者更好的是,确保你已经中environment.rb按照您Rails::Initializer.run

config.gem 'post_commit' 
+0

嗨,如果我添加config.gem'post_commit',错误将更改为:KasesController中的NoMethodError#create 未定义的方法'sendtocampfi re'for# dannymcc 2010-08-02 10:55:24

+0

@dannymcc那么你在'Kase'模型中有一个名为'sendtocampfire'的方法吗?这是什么包装'post_commit'调用? – bjg 2010-08-02 11:02:14

+0

嗨,下面是我的加濑型号:#营火 post_commit:篝火做 授权:子域名=> “dannyweb”:令牌=> “820d410dc1850659cfa2bb440efa3ae1b106786d”:房间=> '麦克莱兰&CO' 后“新案例在调查管理器中创建“,:type =>:text end - 我不知道这是否正确?谢谢,丹尼 – dannymcc 2010-08-02 11:03:51