Ruby-on-Rails模型与params的关联

Ruby-on-Rails模型与params的关联,ruby-on-rails,ruby,Ruby On Rails,Ruby,这是我的模型 class Location has_many :areas end class Area belongs_to :location end 控制器 def create @area = Area.new(area_params) @area.location_id = session[:current_location] end 创建新区域时,如何关联此模型? 像这样的 def create @area = @location.areas.create

这是我的模型

class Location
  has_many :areas
end

class Area
  belongs_to :location
end
控制器

def create
   @area = Area.new(area_params)
   @area.location_id = session[:current_location]
end
创建新区域时,如何关联此模型? 像这样的

def create
 @area = @location.areas.create(area_params)
end

确保在创建时设置location_id属性。它应该包含在参数中。如果您提供完整的控制器文件,我可以更具体


是的,包含
区域参数
可以包含
位置id
,并且它应该是数据库中的一列。

确保在创建时设置位置id属性。它应该包含在参数中。如果您提供完整的控制器文件,我可以更具体


是的,包括
区域参数
可以包括一个
位置id
,它应该是数据库中的一列。

您可以这样做。你试过了吗?是的,但我收到了错误消息undefined areas method。我忘了说话,但我想设置位置id,所以需要添加两个参数,如下所示:
@area=@location.areas.create(area\u params,location\u id=session[:current\u location])
?您可以这样做。你试过了吗?是的,但我收到了错误消息undefined areas method。我忘了说话,但我想设置位置id,所以需要添加两个参数如下:
@area=@location.areas.create(area\u params,location\u id=session[:current\u location])
?您的意思是在数据库中添加一个area\u id列吗?函数是这样定义的:
def area\u params.require(:area.permit(:description,:name)end
那么,您的意思是在数据库中添加一个area\u id列吗?函数的定义如下:
def area\u params.require(:area.permit(:description,:name)end