インデックスページをサブミットページとしても使用できる方法があるかどうかを知りたいと思います。Rails - 同じページのサブミットとインデックス
たとえば、私は投稿を提出し、同じページに既に存在する投稿を掲載したいと考えています。
インデックスページをサブミットページとしても使用できる方法があるかどうかを知りたいと思います。Rails - 同じページのサブミットとインデックス
たとえば、私は投稿を提出し、同じページに既に存在する投稿を掲載したいと考えています。
はい、インデックスビューにform_for
ヘルパーを含むフォームを表示できます。
あなたposts_controller.rb
でindex
アクションは次のようになります。
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 %>
次にあなたがview/posts
フォルダに_post.html.erb
と呼ばれる部分を作成する必要があります単一の投稿ごとにhtmlを表示する。あなたはまだあなたのposts_controller
でcreate
アクションを必要とする
注意、のようなもの:
def create
@post = Post.new(post_params)
redirect_to root_path
end
private
def post_params
params.require(:post).permit(:title, :content)
end
は、それが動作するかどうか、私に教えてください:)
これは間違いです。すべてのPOSTとGETを1つのメソッドにルーティングするのではなく、this:
を読んでください。基本的には、ajaxを使用してデータを新しいメソッドにポストし、div要素を部分的に置き換えます。