我有一个Rails应用程序,它在我的应用程序中创建新案例时使用FreeagentCentral API在FreeagentCentral中创建新项目。Rails和FreeagentCentral API用法
一旦情况下被创建,我链接到使用下面的链接代码FreeagentCentral创建项目:
<%= link_to "#{image_tag('/images/icons/freeagent.png')} Freeagent Project", "#{Freeagent::Base.site}#{Freeagent::Project.element_path(@kase.freeagent_id).gsub!(/.xml/,'')}" if @kase.freeagent_id %>
我想什么做的,是表明了在已创建的发票清单项目下的FreeagentCentral - 在我的应用程序中。例如,如果我在我的应用程序中创建了一个案例,那么它将在FreeagentCentral中创建为一个项目。如果我然后在该项目的FreeagentCentral中创建了3份发票,则3份发票将列在我的应用程序的案例展示视图中。
我使用由亚伦·罗素做出了FreeagentCentral API宝石:
http://github.com/aaronrussell/freeagent_api
我已经做了我的理解是必要的,这是添加了以下到下的显示部分我kases_controller.rb
文件:
def show
@kase = Kase.find(params[:id])
@invoice = Invoice.find(params[:freeagent_id])
我不知道,如果这是正确的,或者如果它其实应该是:
def show
@kase = Kase.find(params[:id])
@kase = Invoice.find(params[:freeagent_id])
此外,一旦以上是正确的 - 如何列出在我的show view中找到的项目中的任何发票?
<% for invoice in @kases %>
<li><%= link_to ??, kase %></li>
<% end %>
如果有帮助,这是我的代码从kase.rb
使用的情况下发送到FreeagentCentral作为一个项目:
# FreeAgent API Project Create
# Required attribues
# :contact_id
# :name
# :billing_basis # must be 1, 7, 7.5, or 8
# :budget_units # must be Hours, Days, or Monetary
# :status # must be Active or Completed
def create_freeagent_project(current_user)
contact = Freeagent::Contact.find_by_name(company.companyname)
p = Freeagent::Project.create(
:contact_id => contact.id,
:name => "#{jobno} - #{highrisesubject}",
:billing_basis => 1,
:budget_units => 'Hours',
:status => 'Active'
)
user = Freeagent::User.find_by_email(current_user.email)
Freeagent::Timeslip.create(
:project_id => p.id,
:user_id => user.id,
:hours => 1,
:new_task => 'Setup',
:dated_on => Time.now
)
Freeagent::Task.create(:project_id => p.id, :name => 'Telephone Discussions')
Freeagent::Task.create(:project_id => p.id, :name => 'Investigation')
Freeagent::Task.create(:project_id => p.id, :name => 'Travel')
Freeagent::Task.create(:project_id => p.id, :name => 'Survey')
Freeagent::Task.create(:project_id => p.id, :name => 'Correspondence')
Freeagent::Task.create(:project_id => p.id, :name => 'Report')
Freeagent::Task.create(:project_id => p.id, :name => 'Claim Assessment')
self.freeagent_id = p.id
self.save
end
任何帮助,任何人都可以阐明这会受到欢迎!
感谢,
丹尼