我想知道是否有任何方法可以将我的索引页面用作提交页面。
例如,我希望能够在同一页面上提交帖子和列表已经存在的帖子。
答案 0 :(得分:0)
这绝对是错误的。您应该阅读this:
,而不是将所有POST和GET路由到一个方法基本上,您将更改页面以通过ajax将数据发布到新方法,并将div元素替换为部分。
答案 1 :(得分:0)
是的,您可以在索引视图中显示带有form_for
帮助器的表单。
index
中的posts_controller.rb
行为应如下所示:
def index
@post = Post.new
@posts = Posts.all
end
您的view/posts/index.html.erb
视图应如下所示:
<%= form_for(@post) do |f| %>
<%= f.label :title, "Post title" %>
<%= f.text_field :title%>
<%= f.label :content, "Content" %>
<%= f.text_field :content%>
<%= f.submit "Add"%>
<% end %>
<%= render @posts %>
然后你必须在_post.html.erb
文件夹中创建一个名为view/posts
的部分,以显示每个帖子的html。
请注意,create
仍然需要posts_controller
操作,例如:
def create
@post = Post.new(post_params)
redirect_to root_path
end
private
def post_params
params.require(:post).permit(:title, :content)
end
让我知道它是否有效:)