gpt4 book ai didi

ruby-on-rails - 使用同一 Controller 使用STI路径

转载 作者:行者123 更新时间:2023-12-04 07:39:00 25 4
gpt4 key购买 nike

我正在使用STI并且想知道,每个型号是否必须为每个模型都有一个单独的 Controller ?我有一个情况,我只在STI关系中使用一个模型的创建和编辑操作,但是如果我尝试为表格做表单,我会遇到“未定义的方法”错误。更具体地说,我有两个从列表中继承的模型:

class RegularList < List
class OtherList < List

和我有一个可以处理这些操作的列表 Controller ,但是我仅使用表单的常规列表创建新模型。即,我使用form_for创建新列表对象的唯一情况是使用常规列表。我想做的是:

class ListsController < ApplicationController

def new
@list = RegularList.new
end

否则,创建新列表的路由看起来像常规列表/新列表,但我希望它只是列表/新。想法?

编辑:问题是当我使用上述代码时,我会收到“未定义的方法”错误。我的观点看起来像这样:

...

因此,在列表 Controller 中使用常规列表对象似乎存在一些问题,这是我要解决的主要问题。抱歉,我意识到这不是最明确的解释。

最佳答案

我知道这有点晚了,但也许这对其他人有帮助。您想使用 becomes 方法。假设您正在编辑 @list,它是 RegularList 的一个实例。然后做

form_for @list.becomes(List)

关于ruby-on-rails - 使用同一 Controller 使用STI路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2457777/

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