Ruby on rails 发票模式及;rails中的视图-如何
我想在rails中创建一个发票。发票可以有项目,每个项目都有数量和价格。这是我们每天看到的典型发票 创建发票的最佳方法是什么Ruby on rails 发票模式及;rails中的视图-如何,ruby-on-rails,ruby-on-rails-3,ruby-on-rails-3.2,invoice,Ruby On Rails,Ruby On Rails 3,Ruby On Rails 3.2,Invoice,我想在rails中创建一个发票。发票可以有项目,每个项目都有数量和价格。这是我们每天看到的典型发票 创建发票的最佳方法是什么 发票和项目的通用模型是什么 如我所见,项目将是一个单独的模型。但是,我们如何能够拥有一个发票视图,它创建发票和添加到其中的项目 例如,我想创建类似以下示例发票表单的内容: 更新: 除了答案之外,以下链接对于解决问题也很有用: 发票示例: 此外,ryan bates还为同样的目的创建了一个rails插件!: 更新2: 另一个解决方案正是我想要的: 我会有一个发票模型
更新: 除了答案之外,以下链接对于解决问题也很有用: 发票示例: 此外,ryan bates还为同样的目的创建了一个rails插件!:
更新2: 另一个解决方案正是我想要的:
我会有一个发票模型、一个项目模型和一个将它们链接在一起的模型,这样您就可以节省数量、价格等:
class Invoice < ActiveRecord::Base
has_many :invoice_items
has_many :items, :through => :invoice_items
end
class InvoiceItem < ActiveRecord::Base
belongs_to :invoice
belongs_to :item
end
class Item < ActiveRecord::Base
has_many :invoice_items
has_many :invoices, :through => :invoice_items
end
class发票:发票\u项目
结束
类InvoiceItem:发票项目
结束
InvoiceItem模型将包含与发票和项目之间的链接相关的任何数据。这将包括诸如价格、数量、折扣或任何其他你可能有的东西
为了回答关于使用单一视图的第二个问题,我可以通过Invoice资源公开这个问题
class InvoicesController < ApplicationController
def show
@invoice = Invoice.find(params[:id]).includes(:invoice_items => :items)
end
end
class InvoicesController:项目)
结束
结束
然后,您的视图可以迭代项目:
<% @invoice.invoice_items.each do |item| %>
<%= item.quantity %>
<% end %>
感谢您提供的解决方案。对于第二个问题,我们如何创建包含项目的新发票。正如我模糊地理解的,我们需要使用partials?是的,你可以使用partials,我强烈推荐,但这不是必需的。我在回答中没有提到这一点的原因是因为这有点难以解释,而我试图理解的一点是,您只是在重复这些项。非常感谢您提供的解决方案。我在同一行中找到了一个示例应用程序:也有相关的rails强制转换