Rails 新手,并试图建立并运行一对多的关系。我让它在模型和控制器中工作,但我无法在视图中启动和运行它。
class Project < ActiveRecord::Base
has_many :non_labor_expenses
end
class NonLaborExpense < ActiveRecord::Base
belongs_to :project
end
我通过在控制器中加载 @non_labor_expenses 手动在 non_labor_expense 表中创建了一些条目(编辑操作),并且可以像这样在项目视图中提取现有数据:
<% unless @non_labor_expenses.nil? %>
<% count = 1 %>
<% for expense in @non_labor_expenses %>
<li>
<div class="label"><%= f.label :expense , "Expense" + count.to_s %></div>
<%= '$' + expense.amount.to_s + ' - ' + expense.description.to_s %>
</li>
<% count = count +1 %>
<% end %>
我遇到的麻烦是在项目中添加一个新的 non_labor_expense 条目。我应该能够管理在后端处理它,但我什至无法让该字段显示在表单中。
这是我现在的位置:
<li class="editable">
<div class="label"><%= f.label :non_labor_expenses %></div>
<%= f.text_field :non_labor_expenses %>
</li>
我知道我上面的代码看起来不像这样,但理想情况下,表单字段应该是这样的:
Expense Amount [text input]
Expense Description [text input]
我的完整格式代码可以在这里找到:http: //pastebin.com/m2b280b0f