对非 activerecord 模型的新实例使用 url_for (form_for)

发布于 2024-11-06 22:59:56 字数 628 浏览 1 评论 0原文

我需要这样的构造:

form_for Project.new

其中 Project 是一个模型,它不是从 AR/AM/Mongoid 继承的(从 Spira 继承)。

是否有一些猴子补丁可以使 Spira 模型使用正确的“http://example.org/projects”回答 url_for Project.new

现在它给出了一个例外

没有路由匹配 {:controller=>"projects", :id=>, :action=>"show"}

http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-url_for

这里说的是,url_for使用持久化?,但是我定义了持久化?在实例方法中正确,但不起作用。

有什么想法吗?

I need such a construction:

form_for Project.new

where Project is a model, that's not inherited from AR/AM/Mongoid (inherited from Spira).

Is there some monkey-patch to make Spira models answer to url_for Project.new with correct 'http://example.org/projects'?

Now it gives an exception

No route matches {:controller=>"projects", :id=>, :action=>"show"}

http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-url_for

here it's said, url_for uses persisted?, but I defined persisted? correctly in instance methods and that doesn't work.

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

留一抹残留的笑 2024-11-13 22:59:56

这是在您的项目类中声明的吗?

extend ActiveModel::Naming

我相信它有助于路由命名。然而,并非 100% 这就是您需要包含的全部内容。

Is this declared in your Project class?

extend ActiveModel::Naming

I believe it facilitates route naming. Not 100% that is all you need to include, however.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文