我目前正在制作这样的协会:
show do h3 project.title panel "Utilisateurs" do table_for project.roles do column "Prenom" do |role| role.user.firstname end column "Nom" do |role| role.user.lastname end column "email" do |role| role.user.email end column "Role" do |role| role.role_name.name end end end end # override default form form do |f| f.inputs "Details" do # Project's fields f.input :title f.input :code end f.has_many :roles do |app_f| app_f.inputs do # if object has id we can destroy it if app_f.object.id app_f.input :_destroy,:as => :boolean,:label => "Supprimer l'utilisateur du projet" end app_f.input :user,:include_blank => false,:label_method => :to_label app_f.input :role_name,:include_blank => false end end f.buttons end
我有以下协会:
项目
has_many :roles,:dependent => :destroy has_many :users,:through => :role
用户
has_many :roles,:dependent => :destroy has_many :projects,:through => :role
角色
belongs_to :user belongs_to :project belongs_to :role_name
ROLENAME
has_many :roles
当我试图通过我的表单破坏用户关联什么都没发生时,有什么想法来解决这个问题?
或者添加删除链接到我的show块?
解决方法
尝试将accepts_nested_attributes_for添加到Project模型(并将roles_attributes添加到attr_accessible):
class Project < ActiveRecord::Base has_many :roles,:dependent => :destroy has_many :users,:through => :role accepts_nested_attributes_for :roles,:allow_destroy => true attr_accessible :roles_attributes,(+ all you had here before) ... end
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。