私はそのようなフォームをレンダリングしています:_file_form.html.slimでレール:nilのための未定義のメソッド `ID」:NilClass
= f.fields_for :files do |files_form|
= render('file_form', f: files_form)
私はそのようなコードがあります。
- id = f.object.id
- file= f.object.files.first
li.panel.panel-default
.panel-heading role="tab" id="heading"
a.file-heading data-toggle="collapse" data-parent="#files" href="#collapse#{id}"
div.clearfix role="button"
span = f.object.name
.panel-collapse.collapse-in id="collapse#{id}" role="tabpanel"
.panel-body
.clearfix = link_to(t('shared.destroy'), '#', class:'btn btn-warning btn-sm discard-file pull-right')
.form-group
= f.label(:name, t('activerecord.attributes.file.name'))
= f.text_field(:name, class: 'form-control')
= f.label(file.id) //my problem
すべての作品をファイルIDでラベルを取得しようとするまで、うまくいきます。
エラーメッセージ:未定義のメソッドはnilのための `のid」:NilClass
初期化されていないように見えますが、私はfile.idと行の前にデバッガでそれを確認したときに、実際に、それはあります初期化され、私は簡単に値をチェックすることができます。
:file.idの代わりにidを使用していると、すべて正常に動作します。どうして?
ファイルからID(または他のデータ)を取得しようとすると、ファイルがnilクラスになるのはなぜですか?
検査後にidとfileの値を投稿できますか? – SnehaT
はこれを作成または編集するためのものですか? – xploshioOn