前提・実現したいこと
現在bootstrapを用いて自己紹介入力フォームを作っているのですが、rubyで書いたフォームにbootstrapを反映させたいのですがうまくいきません。
bootstrapのexampleに乗っていたものをベースにhtmlで書いたもの↓
これをf.labelとか使うform_withなどに変えたい
理由:bootstrapはDBとやり取りせず、見た目だけ作っているから。ちゃんとDBに格納するようにしたい。(そもそもboostrapがDBとやり取りしないと言う考え方がまちがっていたらご指摘ください。初学者なので勘違いしているかもしれません。)
<form> <div class="form-row"> <% @users.each do |user| %> <div class="form-group col-md-6"> <label for="inputEmail4">Name</label> <input type="name" class="form-control" id="inputEmail4" placeholder="Name" value="<%=user.name %>"> </div> <div class="form-group col-md-6"> <label for="inputEmail4">Email</label> <input type="email" class="form-control" id="inputEmail4" placeholder="Email" value="<%=user.email %>"> </div> <div class="form-group col-md-6"> <label for="inputPassword4">Password</label> <input type="password" class="form-control" id="inputPassword4" placeholder="Password" > </div> </div> <div class="form-group"> <label for="inputAddress">Photo</label> <input type="file" class="form-control" id="inputAddress" placeholder="1234 Main St" value="<%=user.image %>"> </div> <button type="submit" class="btn btn-primary">Sign in</button> </form> <% end %>
試したこと
rubyで書いたフォームのclass名をbootstrapのものにしたりしましたが、フォームの枠が二重になったりとうまくいきませんでした。
2つのパターンを試しました。divをboostrapのクラスでした場合フォームの枠が二重になってしまいました。
<%= form_with model: User.first do |form| %> <div class="form-group col-md-2"> <%= form.text_field :title %> </div> <% end %>
<%= form_with model: User.first do |form| %> <%= form.text_field :title class="form-control"%> <% end %>
補足情報(FW/ツールのバージョンなど)
scaffoldとgem'devise'を使っています。
routes
1Rails.application.routes.draw do 2 devise_for :users 3 resources :pages 4 root "pages#index" 5 # For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html 6 get "/intro" => "pages#intro" 7end
回答1件
あなたの回答
tips
プレビュー