Добавление записей в приложение Rails? - PullRequest
2 голосов
/ 02 августа 2010

Я использую следующий гем в своем приложении rails:

http://github.com/fnando/post_commit

Я пытаюсь научиться отправлять данные поставщикам услуг, таким как Campfire, при создании записи в моем приложении.

Использование Campfire в качестве теста У меня есть следующее в моей модели 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

и следующее в моемview:

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

При использовании кода выше, я получаю сообщение об ошибке:

NoMethodError in KasesController#create

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

Может ли кто-нибудь указать мне правильное направление, пожалуйста?

Спасибо

Дэнни

1 Ответ

1 голос
/ 02 августа 2010

Вам может понадобиться явно require post_commit перед использованием или, что еще лучше, убедиться, что у вас есть следующее в environment.rb в вашем Rails::Initializer.run блоке

config.gem 'post_commit'
...