Ruby on rails RubyonRails:一对多关系视图
rails新手,尝试建立并运行一对多关系。我让它在模型和控制器中工作,但在视图中设置和运行它时遇到了问题Ruby on rails RubyonRails:一对多关系视图,ruby-on-rails,database,view,relational,Ruby On Rails,Database,View,Relational,rails新手,尝试建立并运行一对多关系。我让它在模型和控制器中工作,但在视图中设置和运行它时遇到了问题 class Project < ActiveRecord::Base has_many :non_labor_expenses end class NonLaborExpense < ActiveRecord::Base belongs_to :project end 我的完整表单代码可以在这里找到:非人工费用不是文本字段,这可能是您最大的问题 更好的方法是创建一个新
class Project < ActiveRecord::Base
has_many :non_labor_expenses
end
class NonLaborExpense < ActiveRecord::Base
belongs_to :project
end
我的完整表单代码可以在这里找到:
非人工费用
不是文本字段,这可能是您最大的问题
更好的方法是创建一个新的
非人工费用
,在创建过程中使用一个下拉选择框来选择项目的id(或名称,通过id)。非人工费用
不是一个文本字段,这可能是您最大的问题
更好的方法可能是创建一个新的
非人工费用,在创建过程中有一个下拉选择框来选择项目的id(或名称,通过id)。假设每个表单只能添加一个(而JS可以添加[n]新的非人工费用),只需在控制器中创建一个空实例变量即可
@new_non_labor_expense = NonLaborExpense.new
在表单中,使用以下方法构建它:
<%= f.text_field :new_non_labor_expense, :amount %>
或者不管适当的成员变量和字段类型是什么
在控制器中,您将获得一个名为“new_non_labor_expense”的参数,并可以访问、验证、关联和保存它。或者,如果其中任何一个步骤出错,您可以返回并通知用户
如果需要添加更多,只需创建一个数组,这样就可以传入一个NLE数组。希望这是有意义的。假设每个表单只能添加一个(而JS可以添加[n]新的非人工费用),只需在控制器中创建一个空实例变量即可
@new_non_labor_expense = NonLaborExpense.new
在表单中,使用以下方法构建它:
<%= f.text_field :new_non_labor_expense, :amount %>
或者不管适当的成员变量和字段类型是什么
在控制器中,您将获得一个名为“new_non_labor_expense”的参数,并可以访问、验证、关联和保存它。或者,如果其中任何一个步骤出错,您可以返回并通知用户
如果需要添加更多,只需创建一个数组,这样就可以传入一个NLE数组。希望有意义。我想您需要的是嵌套表单。这是一个简单的例子,说明如何使用一对多关系来实现。自从Rails 2.3.2以来,它一直在工作,我认为您需要的是嵌套表单。这是一个简单的例子,说明如何使用一对多关系来实现。自从Rails 2.3.2以来,它就可以工作了。另一个选择是-这对我来说似乎很好。退房。另一个选择是-这对我来说似乎很好。退房。你能发布所有表单代码吗?完整表单代码:你能发布所有表单代码吗?完整表单代码:我知道它不是一个文本字段,但我不知道该使用什么。我同意,但该网站的设计方式是,非人工费用需要能够添加到项目编辑页面上。我意识到这不是一个文本字段,但我不知道该使用什么。我同意,但该网站的设计方式是,非人工费用需要能够添加到项目编辑页面。
<%= f.text_field :new_non_labor_expense, :amount %>