0

我有两个类MessageComment关联如下

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

单击“添加评论”按钮时,我通过 jquery 将评论输入附加到表单 f 中,如下所示

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

但我无法访问此表单,我得到了

Undefined local variable or method 'f'

这个怎么做?

4

1 回答 1

0

在你的表格中试试这个。我假设:

  = 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}
于 2013-02-02T09:54:51.627 回答