0

我有这样的关系

class User
  include Mongoid::Document
  include Mongoid::Timestamps

  embeds_one :setting
end

和设置类

class Setting
  include Mongoid::Document
  include Mongoid::Timestamps

  embedded_in :user

  field :notify, type: Boolean
end

我有这样的表格:

<% form_for current_user.setting || current_user.build_setting, :html => {:class => 'well'} do |f| %>
  Notificar: <%= f.check_box :notify, :class => 'check' %>

  <div class="form-actions">
    <%= f.submit "Salvar" %>
  </div>
<% end %>

但是当我访问表单页面时,没有显示表单。我怀疑这是因为setting是 nil,或者类似的东西......
我错过了什么?
谢谢你们

4

1 回答 1

3

您在 . 前面缺少一个等号form_for

<%= form_for # ... %>

助手渲染其块中的form_for所有内容,添加表单标签并返回 html。为了显示它,你必须告诉 erB 你想显示返回的字符串。因此,当缺少等号时,它不会显示输出。

于 2012-07-02T12:47:35.450 回答