Rails の view で簡易メソッドの定義みたいなことってできませんか?
<div class="form-group col-auto col-sm-2 col-lg-1 ..."> <%= render 'item1'> </div <div class="form-group col-auto col-sm-2 col-lg-1 ..."> <%= render 'item2'> </div <div class="form-group col-auto col-sm-2 col-lg-1 ..."> <%= render 'item3'> </div>
みたいなのを
メソッド化して
<%= fg item1 %> <%= fg item2 %> <%= fg item3 %>
みたいにかけるようにできませんか?
<% def fg do |item| %> <div class="form-group col-auto col-sm-2 col-lg-1 ..."><%= render item %></div> <% end %>
とはかけないみたいなので…
というか bootstrap を使う場合レイアウトを少しかえたくなっても
viewのあちこちにちらばってるすべての部品のクラスを書き換える必要がでてくるので
うまい管理方法はあったりしないでしょうか…
追記:
パーシャルを使ったのはあくまでサンプルで
共通化したいのは class="form-group col-auto col-sm-2 col-lg-1 ..."
の部分でした
たとえば
<ul class="form-row"> <li class="form-group form-control-sm col-sm-2 col-md-2 col-lg-1"> ... </li> <li class="form-group form-control-sm col-sm-2 col-md-2 col-lg-1"> ... </li <li class="form-group form-control-sm col-sm-2 col-md-2 col-lg-1"> ... </li>
みたいなのでもいいんですけど bootstrap を使うと同じクラスの指定を何度もしないといけないので
Rails 側の機能をうまくつかってきれいにかけないかなと思った次第です
しかもこの li をそれぞれ部品化してパーシャルビューの中にちらばってたりすると
レイアウトの変更(p-1をつけたいとか)のとき毎回3ファイルを変更しないといけなくなりますよね…
bootstrap をはじめて使うのでこれまでは
ul.myclass > li { ... } と CSS にかくだけで HTML と分離してレイアウトを簡単に調整できたのですが…
回答2件
あなたの回答
tips
プレビュー