Как передать 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}