現在、rails5,ruby2.4.0の環境にてform_tagを用いて投稿ができるものを作ろうとしています。formの送信はできるものの、contentの値がどうもcontrollerのcreateアクションに渡っていないらしく、contentがnilになってしまいます。
実際書いているのは下記のコードです。
ruby
1// views/posts/new.html.erb 2<h1>NewPost</h1> 3<div class='form'> 4 <div class='form-body'> 5 <%= form_tag("/posts/create",:id => "form_id") do %> 6 <textarea name="content" id="content"></textarea> 7 <%= link_to 'post',{controller: "posts", action:"create",:onclick=>"document.getElementById('form_id').submit()"},method: :post %> 8 <% end %> 9 </div> 10</div>
ruby
1// controllers/posts/posts_controller.rb 2class PostsController < ApplicationController 3 def index 4 @posts = Post.all.order(created_at: :desc) 5 end 6 7 def show 8 @post = Post.find_by(id: params[:id]) 9 end 10 11 def new 12 end 13 14 def create 15 @post = Post.new(content: params[:content]) 16 @post.save 17 redirect_to("/posts/index") 18 end 19 20end 21
できていないところはおよそtextareaのname="content"の値をlink_toにどのように渡し、controllerのcreateメソッドに送るかかと考えておるのですが、色々と調べてみても回答が見つからなかったです。
この回答がわかるかた、ぜひともご教授ください。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/27 04:53