railsでラジオボタンを取り付けた入力フォームを作っているのですが、ラジオボタンの入力内容をデータベースに保存できません、、、
postsテーブルのshareカラムはinteger型で追加しました。
テキストデータは保存できています。
なにか追加で必要な情報があれば追加しますので教えていただきたいです。
初学者なのでとんちんかんなことを言っているかもしれないのですがご回答よろしくお願いします、。
ファイル名:new.html.erb <%= form_for("/posts/create", method: :post) do |f| %> <table border="1"> <tr> <th>タイトル</th> <td><textarea name="content" class="title-textarea"><%= @post.content %></textarea></td> </tr> <tr> <th>部屋の有無</th> <td> <label><%= f.radio_button :share, "1" %> 今住んで得る部屋をシェアしたい </label> <label><%= f.radio_button :share, "2" %> 相手の部屋に住みたい </label> <label><%= f.radio_button :share, "3" %> 一緒にこれから探したい </label> </td> <tr> <th>詳細</th> <td> <textarea name="detail" class="contents-box"><%= @post.detail %></textarea> </td> </tr> </table> <input type="submit" value="送信" class="btn-square"> <% end %>
ruby
1ファイル名:posts_controller.rb 2class PostsController < ApplicationController 3def new 4 @post = Post.new 5 # params.posts(:share) 6 @post = Post.new( 7 content: params[:content], 8 detail: params[:detail], 9 share: params[:share], 10 how: params[:how], 11 user_id: @current_user.id 12 ) 13 if @post.save 14 flash[:notice] = "投稿を作成しました" 15 redirect_to("/posts/index") 16 else 17 render("/posts/new") 18 end 19 end 20 21 def create 22 enum share: {今住んでる部屋をシェアしたい:1, 相手の部屋に住みたい:2, 一緒にこれから探したい:3} 23 @post = Post.new( 24 content: params[:content], 25 detail: params[:detail], 26 share: params[:share], 27 user_id: @current_user.id 28 ) 29 if @post.save 30 flash[:notice] = "投稿を作成しました" 31 redirect_to("/posts/index") 32 else 33 render("/posts/new") 34 end 35 end 36end
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/14 09:24