从rails博客教程开始,我希望在单个视图上列出并创建功能。但我不知道如何设计控制器来实现这一目标。
索引视图必须显示一个简单的帖子列表和一个用于创建新帖子的表单。 我能解决这个问题吗?怎么样?我需要一个“新”和“创造”的方法?只有创造是不够的?
class MyPostsController < ApplicationController
def index
@posts = Post.all
end
def new
end
def create
end
end
答案 0 :(得分:1)
如果您希望在index
视图中显示该表单,请呈现该表单。我推荐部分,但它不是强制。根据表单实现,您可能需要一个新的Post
模型,就像在@post = Post.new
操作中放置index
一样简单。
create
可能不足够的原因是因为某些表单是“for”模型的一个实例。在这些情况下,new
操作通常会生成新的Post
并呈现表单,而create
操作实际上会保存(创建)它。