J'ai une erreur "Impossible d'attribuer en masse des attributs protégés: Upload", mais je l'ai assigné pour être accessible.Les rails acceptent les attributs imbriqués pour une association polymorphe
Ceci est une forme imbriquée avec une association polymorphe.
modèles
class Upload < ActiveRecord::Base
attr_accessible :link, :post_id
belongs_to :uploadable, polymorphic: true
end
class Post < ActiveRecord::Base
attr_accessible :description, :title, :uploads_attributes
has_many :uploads, as: :uploadable
accepts_nested_attributes_for :uploads, :reject_if => lambda { |a| a[:content].blank?
}, :allow_destroy => true
end
j'ai essayé trop mis accept_nested ... pour: uploadable mais me dit l'association existe les dont
L'action nouvelle sur le contrôleur est celui
def new
@post = Post.new
@post.uploads.new
end
et voici le formulaire pour créer
<%= form_for [:admin,@post], remote: true, :html => {:multipart => true} do |f| %>
<div class="field">
<%= f.label :title %><br />
<%= f.text_field :title%>
</div>
<div class="field">
<%= f.label :description%><br />
<%= f.text_area :description %>
</div>
<div>
<%= f.fields_for :upload do |builder| %>
<%= render 'upload_fields', f: builder %>
<% end %>
<%= link_to_add_fields "Add Upload", f, :uploads %>
</div>
<div class="actions">
<%= f.submit%>
</div>
<% end %>
La partie ...
<fieldset>
<%= f.label :file %><br />
<%= f.file_field :file %>
<%= f.hidden_field :_destroy %>
<%= link_to "remove", '#', class: "remove_fields" %>
</fieldset>
ne pense pas que le javascript affecte, donc je ne vais pas le mettre ici. Comment cna résout "Impossible d'assigner en masse des attributs protégés" à des associations polymorphes?
Plz besoin d'aide sur cette personne. Cant belive Je ne peux pas télécharger des fichiers, semble si simple sur des tutoriels, et sa ne fonctionne pas, ou je reçois un ne peut pas masse assign oula télétransmettre pas enregistré ....
Si je mets accepts_nested_attributes_for: uploadable dans le modèle Post, me dit -> Aucune association trouvée pour nom 'uploadable ». A-t-il déjà été défini? – Nonyck
plus d'infos sur l'erreur => ActiveModel :: MassAssignmentSecurity :: Erreur dans Admin :: PostsController # créer – Nonyck
note aussi si je l'utilise sur le contrôleur de téléchargement - @post = @ post.uploads.new j'ai obtenu cette erreur méthode non définie 'admin_uploads_path ' – Nonyck