我正在使用单表继承并对所有子类都有评论。对于所有不同的 STI 类型,我仅使用 1 个控制器。当 form_for 帮助程序生成子类型的 URL 时,它会尝试使用子类型的帮助程序,但我希望它使用父类型的帮助程序。
这是我得到的错误:
undefined method `subclasstypename_comments_path' for #<ActionView::Base:0x41ef27c>
它“应该”使用的路径助手是
parentclasstypename_comments_path
是的,只需使用AR::Base#becomes
.
假设你的基类是Account
,它被子类化为GuestAccount
and LoginAccount
.
@account.is_a? LoginAccount? #=> true
然后你可以做一个
form_for [@account.becomes(Account), @comment] do |f|
...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)