[前提] フォームオブジェクトを使ってitemsテーブルとtagsテーブルの値を同ページで保存している。
[現状]コントローラのeditメソッドで
@item=Item.find(params[:id])と記述しているため、itemsテーブルに保存されている値の初期値のみが表示されている。ハッシュタグのフォームにも初期値を出したい。
[理想図]
[方法]
item_controller
def edit
@item = Item.find(params[:id])
@tag = @item.tags
end
と一つの商品に紐つぐ複数タグの要素をもつ@tagを定義
edit.html.erb
<% @tag.each do |t|%>
<div class="weight-bold-text">
タグ(スペースで区切って複数投稿できます)
<%= f.text_field :tag_name, class:"items-text", id:"item-
tag", value:t.tag_name %>
</div>
<%end%>
@tagという配列の中に複数のタグが入ってるので、eachメソッドで一つ一つ出す。
「t」の中のカラム名「tag_name」の値をvalue属性としてフォームの中に配置する。
以上です。