简体   繁体   English

Rails:如何在控制器中访问子模型参数?

[英]Rails: How to access child model params in controller?

I have two models submission and upload where: 我有两个模型 submissionupload到:

#Submission.rb
attr_accessible :id, :photo_id, :uploads_attributes
has_many :uploads, :dependent => :destroy
accepts_nested_attributes_for :uploads, :allow_destroy => true

#Upload.rb:
attr_accessible :id,:photo_type_id    
belongs_to :submission

In my submissions_controller.rb I can access photo_id with: 在我的submissions_controller.rb我可以访问photo_id

params[:submission][:photo_id] , params[:submission][:photo_id]

however I don't know how to access its child model's photo_type_id 但我不知道如何访问其子模型的photo_type_id

I tried 我试过了

params[:uploads_attributes][0][:package_type_id]

but it doesnt work, ig gives me: 但它不起作用,ig给了我:

NoMethodError (undefined method `[]' for nil:NilClass):

In my view page source I have: 在我的视图页面源代码中我有:

name="submission[photo_id]"

**in fields_for:**

name="submission[uploads_attributes][0][photo_type_id]"

Any idea what should be changed? 知道应该改变什么吗?

Find the answer here: 在这里找到答案:

How to access nested params 如何访问嵌套参数

in my case, I used: 在我的情况下,我用过:

params[:submission][:uploads_attributes]["0"][:photo_type_id]

Just need to change the [0] to ["0"] 只需要将[0]更改为["0"]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM