simple_form_for中的关联模型

时间:2013-12-18 23:51:10

标签: ruby-on-rails ruby ruby-on-rails-4 simple-form

有没有办法将关联模型放在simple_form_for

我有以下代码

= simple_form_for(@booth.chats, remote: true) do |f|

但是这给了我以下错误:

NoMethodError at /booths/1
undefined method `model_name' for #<Class:0x86f6418>

整个表单代码:

= simple_form_for(@booth, remote: true) do |f|
        = f.simple_fields_for(:chats) do |c| 
          .input-group
            %input#btn-input.form-control.input-sm{placeholder: "Type your message here...", type: "text"}
            %span.input-group-btn
              %button#btn-chat.btn.btn-warning.btn-sm{:type => 'submit'}
                Send
          = f.error_notification

2 个答案:

答案 0 :(得分:0)

这实际上取决于您的关联模型。从我在你的代码中看到的,你试图访问.chats,这让我觉得这是一个has_many / not has_one关系。

我相信如果你定义了一个has_one关系,那么非常相似的东西将起作用,因为会有一个对该模型的活动记录引用,这是simple_form_for所需要的。

答案 1 :(得分:0)

@booth.chats返回ActiveRecordRelationsimple_form_for需要model个实例。关联记录是使用simple_fields_for中的simple_form_for创建的,如下所示:

= simple_form_for(@booth, remote: true) do |f|
  = f.simple_fields_for(:chats) do |c| 
    ...