Не може да се изпрати променлива до частичен с помощта на Cocoon (Rails 3)

използвам Rails 3, със стандартна форма на релси и Cocoon gem. Искам да изпратя променлива към partial чрез 'link_to_add_association', използвайки 'render_options', предоставени от gem, но не мога да го накарам да работи. Изгледът от частичен изобразява добре и coocon работи добре (може да добавя и премахва елементи), с изключение на променливата. Опитът за отпечатване на променливата в изгледа казва, че е недефинирана. Това е моят код:

_form.html.erb (това е частично извикано от new.html.erb)

<%= link_to_add_association raw('Nuevo con empleado existente'), f, parte_diario_item_indirectos, :render_options => {:locals => {:foo => 'bar'}}%>

_parte_diario_item_indirecto_fields.html.erb

<%= foo %>

Правенето на нещо подобно води до "недефинирана грешка 'foo'".

Опитах също:

<%= locals[:foo] %>

със същия резултат. Използването на скоби/скоби около „render_options“ също не работи.


person gonzag88    schedule 07.01.2015    source източник
comment
Не виждам очевидна грешка (с изключение на името на асоциацията, предполагам, че просто сте забравили : отпред), това просто трябва да работи. Коя версия на скъпоценния камък използвате?   -  person nathanvda    schedule 13.01.2015
comment
Благодаря за отговора. Cocoon 1.2.6   -  person gonzag88    schedule 13.01.2015


Отговори (1)


Имах много подобен проблем, докато не разбрах, че render също се извиква в блока fields_for точно над обаждането ми до link_to_add_association

Ето примера, предоставен от Cocoon, с моите местни хора, добавени към link_to_add_association:

= simple_form_for @project do |f|
  = f.input :name
  = f.input :description
  %h3 Tasks
  #tasks
    = f.simple_fields_for :tasks do |task|
      = render 'task_fields', :f => task
    .links
      = link_to_add_association 'add task', f, :tasks, :render_options => { :locals => { :foo => 'bar'} }
  = f.submit

Не предавах локалните данни на първото render повикване, така че действителната недефинирана грешка беше от грешния render, а не от link_to_add_association

person kayatela    schedule 16.06.2015