Rails控制器设计:在同一视图上列出和创建

发布于 2024-12-11 14:51:12 字数 310 浏览 0 评论 0原文

从 Rails 博客教程开始,我想在单个视图上列出并创建功能。但我不知道如何设计控制器来实现这一点。

索引视图必须显示简单的帖子列表和用于创建新帖子的表单。 我可以用部分解决这个问题吗?如何?我需要“新”和“创建”方法吗?仅仅创建还不够?

class MyPostsController < ApplicationController

    def index
        @posts = Post.all
    end

    def new
    end

    def create
    end

end

starting from the rails blog tutorial, i want to have listing and create functionality on a single view. But i don't known how to design the controller to accomplish this.

The index view must show a simple list of posts and a form to create a new post.
Can i solve this with partials? How? I need a "new" and "create" methods? With only create is not enough?

class MyPostsController < ApplicationController

    def index
        @posts = Post.all
    end

    def new
    end

    def create
    end

end

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

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

发布评论

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

评论(1

情绪失控 2024-12-18 14:51:13

如果您希望在 index 视图中显示表单,请渲染该表单。我推荐部分,但这不是强制。根据表单实现,您可能需要一个新的 Post 模型,这就像在 index 操作中放置 @post = Post.new 一样简单。

create可能不够“足够”的原因是某些表单是“用于”模型实例的。在这些情况下,通常 new 操作会创建一个新的 Post 并呈现表单,而 create 操作实际上会保存(创建)它。

If you want to have the form in the index view, render the form. I'd recommend a partial, but it's not mandatory. Depending on the form implementation you may need a new Post model, that's as easy as putting a @post = Post.new in the index action.

The reason create may not be "enough" is because some forms are "for" an instance of the model. In those cases generally the new action makes a new Post and renders the form, whereas the create action actually saves (creates) it.

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