這應該是一個上籃......的Ruby/Rails:動態更改屬性共享部分的人
我試圖改變,這取決於控制器/模型調用包含窗體部分表單域的屬性字段...
問題(下)與parent_id
...它引用狗表中的兩列之一。它需要或者是kennel_id
或master_id
這取決於查看此部分正在被渲染。
不夠舒適,但,使用Ruby/Rails的語言/語法/工具來動態地改變這個沒有if/else
陳述陷入困境。
我打電話共用部分並通過在一個局部變量:
= render "dogs/form", :parent => @kennel
或
= render "dogs/form", :parent => @master
在部分我想:
= form_for ([parent, target.dogs.build]) do |f|
= render "shared/error_messages", :target => parent
.field
= f.label :name
= f.text_field :name
.field
= f.hidden_field :parent_id ### <= PROBLEM
.actions
= f.submit 'Save'
謝謝!所有好主意,非常有幫助!我曾考慮過讓多態關係成爲可能,但通常情況下,一條狗可能屬於一個狗窩和一個主人......我不確定這是否可能與多態性有關?!? – Meltemi 2010-12-03 20:59:27