railsで管理画面を作るにはactive adminが便利ですね。
ちょっと手の込んだことをし始めると、active adminに用意されているhtmlの要素とは別に特定のactionでフォームなどのhtml要素を表示させたくなります。
例えば、index actionでform要素を表示させたい場合には
# app/admin/hogehoge.rb
index do
body do
render "partial_form"
end
...
end
<%# app/views/admin/hogehoge/_partial_form.html.erb %>
<%= form_tag({ action: :index }, { method: :get }) do %>
<%= text_field_tag(:text_field) %>
<%= submit_tag(:submit) %>
<% end %>
のようにすると、index actionに独自のformを用意できる。
partial使ってるのがポイントで
body do
form_tag({ action: :index }, { method: :get }) do
text_field_tag(:text_field)
submit_tag(:submit)
end
end
のように書くとtext fieldが表示されず、ボタンが1つ表示されるだけになる。