如何在同一页面上显示数据和表格

问题描述 投票:0回答:1

我正在写博客,我想在同一页面上显示数据和提交表单,我已经有一些代码,但是以某种方式,当我按下提交按钮时,页面上的数据不会被更新

这是index.html.erb中的代码:



<table>
    <tr>
        <td>Titulo</td>
        <td>Texto</td>
    </tr>

    <% @posts.each do |post| %>
    <tr>
        <td><%= post.titulo %></td>
        <td><%= post.text %></td>
    </tr>
    <% end %>
</table>    

<%= form_for @post do |f| %>
    <p>
        <%= f.label :titulo, "Titulo del post" %><br>
        <%= f.text_field :titulo %>
    </p>

    <p>
        <%= f.label :text, "Contenido" %><br>
        <%= f.text_area :text %><br>
    </p>

    <p>
        <%= f.submit "Publicar"%>
    </p>
<%end%>

<%= render @posts %>

这是帖子的控制器:

class PostsController < ApplicationController


    def index
        @post = Post.new
        @posts = Post.all
    end

    def new
    end

    def create
        @post = Post.new(post_params)
        redirect_to posts_path
    end

    def show
        @post = Post.find(params[:id])
    end

    private 
        def post_params
            params.require(:post).permit(:titulo, :text)
        end
end

现在正在显示我在执行此操作之前创建的所有数据(因为我使用了像CRUD这样的ruby基础知识,而且我也不知道我是否必须在“ new” def中做点什么]]

我正在写博客,我想在同一页面上显示数据和提交表单,我已经有一些代码,但是以某种方式,当我按下提交按钮时,页面上的数据就不会更新...] >

ruby-on-rails ruby ruby-on-rails-5
1个回答
0
投票

将创建方法更改为此

def create
  @post = Post.new(post_params)
  @post.save
  redirect_to posts_path
end
© www.soinside.com 2019 - 2024. All rights reserved.