在一个表单中添加/编辑2个db表

时间:2012-12-03 22:15:09

标签: ruby-on-rails

Noob在这里。我正在建立一个食谱网站,我遇到了一小块问题。如果你有时间指出我正确的方向,这将是伟大的。

我有一个食谱表,标题,desc,照片,准备时间。

我还有成分表,含量,改性剂(如杯子,毫升),成分,改性剂2(切碎,切块等)

我无法在1页中添加/编辑配方及其成分,并将其填充到两个表中。

我假设它很简单,我只是忽略了一些基本的东西。

我不需要冗长的答案,只需指向正确的方向

2 个答案:

答案 0 :(得分:0)

您需要查找嵌套表单:

http://railscasts.com/episodes/196-nested-model-form-part-1

http://railscasts.com/episodes/197-nested-model-form-part-2

简短的伪示例:

# model
attr_accessible :ingredients_attributes
accepts_nested_attributes_for :ingredients

# controller
def new
  @recipe = Recipe.new
  @recipe.ingredients.build
end

# new.html.erb
<% form_for(@recipe) do |f| %>
  <%= f.text_field(:name) %>
  <% fields_for(@recipie.ingredients) do |r|
    <%= r.text_field(:amount) %>
    <%= r.text_field(:name) %>
  <% end %>
  <%= submit_tag %>
<% end %>

答案 1 :(得分:0)

class Recipe < ActiveRecord::Base
  has_many :ingredients
  accepts_nested_attributes_for :ingredients
end

您可以查看文档here