В моем контроллере есть следующий код:
# GET /kases/1/edit
def edit
@kase = Kase.find(params[:id])
respond_to do |format|
format.html { render :layout => 'kaseshow'} # show.html.erb
format.xml { render :xml => @kase }
format.pdf { render :layout => false }
end
end
# POST /kases
# POST /kases.xml
def create
@company = Company.find(params[:kase][:company_id])
@kase = @company.kases.new(params[:kase])
if @kase.save
UserMailer.deliver_makeakase("xxxxxx@xxxxxxxx.com", "Highrise", @kase) if params[:sendtohighrise]
UserMailer.deliver_makeakaseteam("xxxxxxxx@xxxxxxx.co.uk", "Highrise", @kase) if params[:notify_team_of_creation]
@kase.create_freeagent_project(current_user) if params[:send_to_freeagent]
redirect_to(@kase)
#flash[:notice] = 'Case was successfully created.'
flash[:notice] = fading_flash_message("Case was successfully created.", 5)
else
render :new
end
end
Я пытаюсь сделать так, если пользователь редактирует случай, а затем выбирает флажок Отправить в Freeagent:
@kase.create_freeagent_project(current_user) if params[:send_to_freeagent]
, то дело повторно отправляется Freeagent (программное обеспечение для онлайн-бухгалтерии).Меня не беспокоит работа с дубликатами, потому что, если кейс уже существует во Freeagent, пользователю не нужно будет повторно его отправлять.
Возможно ли это?