0

こんにちは、異なるモデルから 2 つのオブジェクトを 1 つのフォームで作成しようとしています。それらは has_many/belongs_to 関係によって接続されています。イベント has_many pictures は、他のモデルに関連付けることができるため、ポリモーフィックです。:picture を attr_accessible に設定すると、保護された属性を一括割り当てできません: 画像が表示され、「不明な属性: 画像」と表示されます。

ここに私のフォームコードがあります:

    <%= form_for @event, :html => { :class => 'form-horizontal' } do |f| %>
  <div class="control-group">
    <%= f.label :titre, :class => 'control-label' %>
    <div class="controls">
      <%= f.text_field :titre, :class => 'text_field' %>
    </div>
  </div>
  <div class="control-group">
    <%= f.label :Date, :class => 'control-label' %>
    <div class="controls">
      <%= f.date_select :dday, :class => 'date_select', :start_year=>Date.today.year, :end_year=>1905 %>
    </div>
  </div>
  <div class="control-group">
    <%= f.label :lieux, :class => 'control-label' %>
    <div class="controls">
      <%= f.text_field :lieux, :class => 'text_field' %>
    </div>
  </div>
  <div class="control-group">
    <%= f.label :description, :class => 'control-label' %>
    <div class="controls">
      <%= f.text_area :commentaire, :class => 'text_area', :rows => 4 %>
    </div>
  </div>
  <%= f.fields_for @event.pictures.new do |p| %>
    <%= p.text_field :name, :placeholder=>"Nom de votre image" %>
    <%= p.file_field :image %>
  <% end %>

そして私のモデルコード

 class Event < ActiveRecord::Base
  attr_accessible :dday, :lieux, :titre, :commentaire, :picture
    belongs_to :user
    has_many :pictures, :as => :imegeable ,:dependent => :destroy
    default_scope :order => :dday
    validates :dday, :titre, :presence=>true
end

ご協力いただきありがとうございます。

4

2 に答える 2

1

Rails の作業を行ってからしばらく経っているため、前回の作業から変更されている可能性がありますがaccepts_nested_attributes_for :pictures、Event モデルでそれを指定する必要があると思います。

于 2013-03-09T14:40:05.083 に答える
0

コードから最後の fields_for を次のように変更してみてください。

<%= f.fields_for :pictures do |p| %>
  <%= p.text_field :name, :placeholder=>"Nom de votre image" %>
  <%= p.file_field :image %>
<% end %>

モデルに追加します。

accepts_nested_attributes_for :pictures

モデルの attr_accessible を次のように変更します。

attr_accessible :dday, :lieux, :titre, :commentaire, :pictures_attributes
于 2013-03-09T23:40:46.757 に答える