Rails Cocoon删除/销毁单个实例

时间:2015-03-12 22:31:42

标签: ruby-on-rails-4 nested-forms destroy cocoon-gem

我正在使用Cocoon gem将简历字段与一份简历相关联,每个用户都有一份简历,并通过cocoon文档以正确的方式处理所有内容。但是,我希望用户能够直接在配置文件页面上编辑简历字段/嵌套模型,而无需重定向到cocoon嵌套表单页面。我希望用户能够添加和删除 SINGLE 字段/条目。有什么办法可以做到这一点吗?

在我的控制台中,我已经能够使用

成功删除整个简历嵌套模型
User.last.resume.resume_edus.destroy_all

在哪里' resume.edus'是简历中的嵌套模型,还有其他3个' text_fields'。但正如所述,我只希望能够编辑/删除resume_edus的单个实例。有什么想法吗?

User.rb

has_one :profile
has_one :resume

Resume.rb

belongs_to :user
has_many :resume_edus
accepts_nested_attributes_for :resume_edus,
                               reject_if: :all_blank,
                               allow_destroy: true

Resume_edu

belongs_to :resume

恢复控制器

params.require(:resume).permit(:user_id, :cover,
                                resume_edus_attributes: 
                                 [:id, :title, :date, :description, :_destroy])

1 个答案:

答案 0 :(得分:1)

想出答案!我通过了resume_edus' ID'在删除操作中

<%= link_to "Delete", resume_path(r.id), method: :delete %>

然后能够在当前用户resume_edu模式中搜索所述ID,以专门隔离并删除它而不删除模型的其他实例!

def destroy
  @instance = current_user.resume.resume_edus.find(params[:id])
  debugger
  @instance.destroy
  flash[:notice] = "Resume Field Was Deleted"
  redirect_to profile_path(current_user)
end