Ruby on rails 多个复选框不工作轨道4
我使用的是Rails 4.1.6 我试图创造能力,选择至少3个服务,然后与广告保存 模型结构如下:Ruby on rails 多个复选框不工作轨道4,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,我使用的是Rails 4.1.6 我试图创造能力,选择至少3个服务,然后与广告保存 模型结构如下: class Service < ActiveRecord::Base belongs_to :advertisement end class Advertisement < ActiveRecord::Base has_many :services end 但在控制台中,我检查: 2.1.3 :008 >t = Advertisement.last (ALL OK
class Service < ActiveRecord::Base
belongs_to :advertisement
end
class Advertisement < ActiveRecord::Base
has_many :services
end
但在控制台中,我检查:
2.1.3 :008 >t = Advertisement.last (ALL OK)
....
2.1.3 :008 > t.services
=> #<ActiveRecord::Associations::CollectionProxy []>
2.1.3:008>t=advision.last(全部正常)
....
2.1.3:008>t.services
=> #
这是一个错误。联想中的问题,但在我看来一切都很好
有什么问题吗?
谢谢在
广告参数中没有服务ID
。添加它们:
@advertisement = Advertisement.new(advertisement_params.merge(service_ids: params[:service_ids]))
# or
@advertisement = Advertisement.new(advertisement_params)
@advertisement.service_ids = service_ids
错误在哪里?最后一个代码块没有问题。你是如何在广告上保存服务的?你是否允许在advision\u params
方法中使用服务ID,或者在你的控制器中使用任何你称之为服务ID的方法?@japped I Have:service\u id你需要复数,并告诉它需要一个数组-params.require(:advision.permit(服务ID:[])
您是这样定义的吗?@EdgarsRozenfelds:您需要显示完整的表单、控制器和模型(如果使用嵌套属性)代码,很难理解您当前发布的代码到底想做什么。
Parameters: ... "service_ids"=>["1", "2", "3"] ...
2.1.3 :008 >t = Advertisement.last (ALL OK)
....
2.1.3 :008 > t.services
=> #<ActiveRecord::Associations::CollectionProxy []>
@advertisement = Advertisement.new(advertisement_params.merge(service_ids: params[:service_ids]))
# or
@advertisement = Advertisement.new(advertisement_params)
@advertisement.service_ids = service_ids