Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RubyonRails:一对多关系视图_Ruby On Rails_Database_View_Relational - Fatal编程技术网

Ruby on rails RubyonRails:一对多关系视图

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 我的完整表单代码可以在这里找到:非人工费用不是文本字段,这可能是您最大的问题 更好的方法是创建一个新

rails新手,尝试建立并运行一对多关系。我让它在模型和控制器中工作,但在视图中设置和运行它时遇到了问题

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 %>