Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.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
Select 未找到名称-嵌套表单Rails 4的关联_Select_Ruby On Rails 4_Nested Forms_Nested Attributes_Has Many - Fatal编程技术网

Select 未找到名称-嵌套表单Rails 4的关联

Select 未找到名称-嵌套表单Rails 4的关联,select,ruby-on-rails-4,nested-forms,nested-attributes,has-many,Select,Ruby On Rails 4,Nested Forms,Nested Attributes,Has Many,在以下情况下,我对使用嵌套形式的has_many/has_many关系有问题 我有文章,这可以有许多单位(公斤,袋等)。通过我的表格,我需要记录这些数据 因此,我决定使用嵌套形式来处理关系,但我有一个错误:ArgumentError(未找到名称“article\u unit\u of\u measures”的关联。它是否已定义? 这是我的课程代码: class Article < ActiveRecord::Base has_many :unit_of_measurements,

在以下情况下,我对使用嵌套形式的has_many/has_many关系有问题

我有文章,这可以有许多单位(公斤,袋等)。通过我的表格,我需要记录这些数据

因此,我决定使用嵌套形式来处理关系,但我有一个错误:
ArgumentError(未找到名称“article\u unit\u of\u measures”的关联。它是否已定义?

这是我的课程代码:

class Article < ActiveRecord::Base
    has_many :unit_of_measurements, :through => :article_unit_of_measurements
    accepts_nested_attributes_for :article_unit_of_measurements
end

class ArticleUnitOfMeasurement < ActiveRecord::Base
    belongs_to :article
    belongs_to :unit_of_measurement

    accepts_nested_attributes_for :unit_of_measurement
end


class UnitOfMeasurement < ActiveRecord::Base
    has_many :articles, :through => :article_unit_of_measurements
end
这是我的控制器:

class Shop::ArticlesController < ApplicationController
 def new
    @article = Article.new
    @unitOfMeasurement = UnitOfMeasurement.all
    render layout: false
  end

  def create
    article = Article.new(article_parameters)
    if article.save
      flash[:notice] = "Lorem ipsum dolor sit amet."
      redirect_to :action => :index
    else
      flash[:error] = "Lorem ipsum dolor sit amet."
      redirect_to :action => :index
    end
  end

  private
  def article_parameters
    params.require(:article).permit(:name, article_unit_of_measurements_attributes: [:id, :article_id, :unit_of_measurement_id])
  end
end
class-Shop::ArticlesController:index
其他的
flash[:error]=“Lorem ipsum door sit amet。”
将_重定向到:action=>:index
结束
结束
私有的
def物品_参数
参数require(:article).permit(:name,article\u度量单位\u属性:[:id,:article\u id,:unit\u度量单位\u id])
结束
结束
p.D:已填充的数据单元

替换

class Article < ActiveRecord::Base
    has_many :unit_of_measurements, :through => :article_unit_of_measurements
    accepts_nested_attributes_for :article_unit_of_measurements
end
类文章:文章测量单位
接受以下项的\u嵌套\u属性\u:项目\u度量单位\u
结束

类文章:文章测量单位
接受以下项的\u嵌套\u属性\u:项目\u度量单位\u
结束
你错过了
文章测量单位有很多联系的


因此,错误
ArgumentError(未发现名称“article\u unit\u of \u Measures”的关联)

此问题是否已解决?
class Article < ActiveRecord::Base
    has_many :unit_of_measurements, :through => :article_unit_of_measurements
    accepts_nested_attributes_for :article_unit_of_measurements
end
class Article < ActiveRecord::Base
    has_many :article_unit_of_measurements   ## Added association
    has_many :unit_of_measurements, :through => :article_unit_of_measurements
    accepts_nested_attributes_for :article_unit_of_measurements
end