Используйте , Профилировщик МУРАВЬЕВ от Красного Логического элемента был бы Вашим лучшим выбором. Сбой этого, изучите перехватчики в замок Windsor . Это действительно предполагает загрузку типов через МОК все же.
Отражение иначе, можно использовать Система. Отражение. Испустите методы для "написания" кода в память. Тот код мог заменить код Вашего метода и выполнить его, но с соответствующим входом. Удача на той, хотя... Легче должен был бы использовать платформу Аспектно-ориентированного программирования как Aspect#.
Вы должны дать каждому элементу заказа уникальный индекс при вызове fields_for. Если вы вызываете fields_for таким образом, вам необходимо отслеживать индекс массива, который вы передаете в fields_for. Rails может сделать это за вас, используя вложенные формы.
Решение состоит в использовании вложенных форм.
<%form_for :order do |f|%>
Form stuff for this particular order.
If @order.order_items is empty you may need to build one before the next line.
<%f.fields_for :order_items do |oi_f| %>
Form stuff for this particular order_item (prefixed with oi_f.)
<%Colour.all.each do |colour| %>
<%=oi_f.radio_tag(:colour_id, colour.id)%>
<%end%>
<%end%>
<%end%>
Похоже, вы отправляете сообщение в orders_controller, так что это должно быть меньше замены.