Как передать form_builder в jquery escape_javascript

У меня два класса Message а также Comment который связан следующим образом

class Message ActiveRecord::Base
  attr_accessible :comments_attributes
  has_many :comments
  accepts_nested_attributes_for :comments
end

class Comment ActiveRecord::Base
  belongs_to :message
end

Я смоделировал свою форму как

= form_for @message do |f|
  f.text_field :msg
  %a#add-comment Add Comment

_comment.html.haml
  = f.fields_for :comments do |c|
      c.text_field :value

Когда нажата кнопка "Добавить комментарий", я добавляю комментарии к форме f через jquery следующим образом

$('#add-comment').click(function() {
  $('#add-comment').prepend(("#{escape_javascript(render(:partial => "comment", f: f))}");  
});

Но я не могу получить доступ к этой форме, я получаю

Undefined local variable or method 'f'

Как это сделать?

1 ответ

Попробуйте это в своей форме. Я предполагаю:

  = f.fields_for :comments do |c|
      c.text_field :value

Является ли в вашем комментарии частичным.

Таким образом, ваша форма должна быть такой и передавать переменную f в частичное

= form_for @message do |f|
  f.text_field :msg
  %a#add-comment Add Comment

  = render :partial => 'comment', :locals => {:f => f}
Другие вопросы по тегам