J'obtiens cette erreur:Association Incohérence de type
ActiveRecord::AssociationTypeMismatch (Design(#2199041060) expected, got String(#2151988680))
Je suis en train de créer un événement dans lequel l'utilisateur entre des informations pour l'événement et en même temps sélectionne un dessin. Chaque fois que je clique sur le bouton Créer, l'erreur se produit.
Voici mes modèles:
class Design < ActiveRecord::Base
belongs_to :event # User creates an Event and selects only one Design
belongs_to :user # User could also create a Design
end
class Event < ActiveRecord::Base
belongs_to :user # A user can create as many events
has_one :design # User can only select one design for this event
end
Voici mon contrôleur de l'événement
def create
@event = Event.new(params[:event])
@user = current_user
@designs = Design.all
if @event.save
flash[:success] = "Event created"
@user.events << @event
redirect_to events_path
end
end
Voici mon point de vue de l'événement:
<%= form_for @event, :url => {:action => 'create', :id => @event.id } do |e| %>
<p>Enter a title for this event: <%= e.text_field :title %> </p>
<p>Select a design:</p>
<ul class = "list">
<% @designs.each do |design| %>
<li><%= e.radio_button :design, design.id %> <%= design.name %></li>
<% end %>
</ul>
<%= e.submit "Create" %>
<% end %>
Sans l'erreur complète Je ne suis une scarification ici, mais il ressemble à un certain moment la base de données vous attendait de passer un objet design et la place a une chaîne – ScottJShea