0
如何在保存主要問題後執行多次插入?如何保存數組值? (多個插入)
表:
flow_budgets
|id| |proyected_money|
1 5000
category_expense_budgets
|id| |amount| |flow_budget_id| |category_expense_id|
1 1000 1 1
2 2000 1 1
3 3000 1 1
4 4000 1 2
5 5000 1 2
6 6000 1 2
category_expenses
|id| |name| |analysis_expense_id|
1 Category 1 1
2 Category 2 1
3 Category 3 2
4 Category 4 2
analysis_expenses
|id| |name|
1 Analysis 1
2 Analysis 2
這裏是控制器:
def new_flow
@analysis_expenses = AnalysisExpense.all
@obj_flow = FlowBudget.new(params[:obj_flow])
end
def create_flow
obj_flow = FlowBudget.new(params[:obj_flow])
obj_flow.save()
if obj_flow.save()
@flow_budget_id = FlowBudget.last.id
obj_proyected = CategoryExpenseBudget.new
end
end
這裏是視圖:
<% form_for :obj_flow, :url => {:controller=>"flow_budget",:action=>'create_flow'} do |f|%>
<%= f.text_field :proyected_money %>
<% @analysis_expenses.each do |analysis_expense| %>
<label><%= analysis_expense.name %></label>
<%= text_field_tag "proyected_analysis_expenses",{},:name => "proyected_analysis_expense[amount][]", :id => "proyected_analysis_expense_#{analysis_expense.id}" %>
<table>
<% analysis_expense.category_expenses.each do |category_expense|%>
<tr>
<td><%= category_expense.name %>:</td>
<td><%= text_field_tag "proyected_category_expenses",{},:name => "proyected_category_expense[name][]", :id => "proyected_category_expense_#{category_expense.id}" %></td>
</tr>
<% end %>
</table>
<% end %>
<% end %>
這是我的日誌:
Processing FlowBudgetController#create_flow (for 127.0.0.1) [POST]
Parameters: {"proyected_money"=>"8000",
"proyected_category_expense"=>{"amount"=>["2100", "2500" ],
"proyected_analysis_expense"=>{"amount"=>["1000", "1100", "1200", "1300" ]}
INSERT INTO `flow_budgets` (`proyected_money`) VALUES(8000)
我要救
INSERT INTO `flow_budgets` (`proyected_money`) VALUES(8000)
INSERT INTO `category_expense_budgets` (`amount`,'flow_budget_id','category_expense_id') VALUES(1000,1,1)
INSERT INTO `category_expense_budgets` (`amount`,'flow_budget_id','category_expense_id') VALUES(1100,1,2)
INSERT INTO `category_expense_budgets` (`amount`,'flow_budget_id','category_expense_id') VALUES(1200,1,3)
INSERT INTO `category_expense_budgets` (`amount`,'flow_budget_id','category_expense_id') VALUES(1300,1,4)
請有人可以幫助我嗎?
謝謝,我會調查這個話題感謝幫助將再次詢問是否有更多的信息=) – 2014-11-06 17:08:01
我調查了....你的答案接近我想要的,但它幫助我使用嵌套的形式。 – 2014-11-10 20:27:45
+1給我關於如何解決這個問題的想法,注意我編輯了你的答案,這是正確的。 =) – 2014-11-10 20:28:05