Почему у меня есть «неопределенная форма метода» с моим приложением RoR? - PullRequest
0 голосов
/ 15 марта 2012

У меня есть частичный

= form.fields_for :cycles do |c|
  %tr{:style=>"border-right:none;"}
%td{:width=>"16%"}
  = c.text_field :day, :size=>6
  = c.hidden_field :id
%td{:width=>"35%"}= c.text_field :hour, :size=>15
%td{:width=>"35%"}= c.text_field :hour_night, :size=>15
%td{:style => "width:7%;padding:0;border-right:none",:align=>"center"}
  = c.hidden_field :_destroy
  = link_to image_tag("panel_tools/delete.png",:size=>"15x15"), nil, :href =>"", :onclick => "check_nested_attr_destroy(this);return false;" 

Я вызываю это из вида, подобного этому

= form_for(@schedule_of_working, @new_action ? {:url => schedule_of_workings_path} : {:url => schedule_of_working_path, :method=> :put}) do |f| 
.....
= render(:partial=>'cycles', :collection => @schedule_of_working.cycles, :locals => {:form => f}) if @schedule_of_working.cycles.count > 0

Я получаю ошибку о неопределенной форме метода ..

rails -v 3.1.0

1 Ответ

0 голосов
/ 15 марта 2012

Rails действительно хорошо работает, только если вы следуете его соглашениям.

Вы должны избегать использования: скрытых полей, put с формой, передавая действие таким образом, и я не уверен, что вы пытаетесь сделать с URL-адресом в различных частях, но в любом случае избегайте этого, если у вас нет действительно хорошая причина, почему вы не структурируете это в соответствии с соглашением. Сосредоточьтесь больше на ваших маршрутах и ​​на том, как настроены ресурсы, а также на ваших моделях, их отношениях и ваших взглядах. В них я не уверен, что такое час и час-ночь, или какова их длина 15. Смешанное смешение вещей.

Так что ваша форма, как есть, имеет несколько проблем. Вместо конкретного совета, я бы сказал, переписать его. Это должно быть намного проще, чем это. Я бы порекомендовал посмотреть некоторые railscasts на формах, например
Часть форм один , два или три

...