gpt4 book ai didi

ruby-on-rails - Rails 祖先与 nil parent

转载 作者:行者123 更新时间:2023-12-04 23:24:31 24 4
gpt4 key购买 nike

我正在使用 Ancestry 在 Rails 中构建一个分层类别,并且我允许用户选择他们正在创建的对象的父级。我使用下拉菜单显示现有类别:

<%= f.input :ancestry, collection: Category.sorted_list %>

只要用户选择一个现有的节点,一切都很好。如果用户在下拉列表中选择空白,我希望 Ancestry 创建一个根节点,但表单会抛出“无效”错误。

我的 Controller 没有做任何令人兴奋的事情:
def update
@category = Category.find(params[:id])

respond_to do |format|
if @category.update_attributes(params[:category])
format.html { redirect_to @category, notice: 'Category was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @category.errors, status: :unprocessable_entity }
end
end
end

我是 Rails 的新手,所以我不确定如何解决这个问题。是否有我错过的 Ancestry 配置,或者这是否是表单验证器过度保护?

最佳答案

这是因为 ancestry不能是 nil手动更改它是一个坏主意,因为所有 gem 的行为都基于此属性。对于这种情况 gem 有另一个 parent_id您应该在表单中使用的属性。

gem's wiki里面有很好的解释如何使用 ancestry 构建表单

希望能帮助到你

关于ruby-on-rails - Rails 祖先与 nil parent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15082470/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com