環境はrails5です。gem 'acts-as-taggable-on'において、tag_listがundefined methodとなってしまう状態です。なお、既にテーブル内にデータは保存できております。
view内の入力フォームは下記となっております。
ruby
1 <div class="field"> 2 <%= i.label :tag_list, "Tags (separated by commas)" %><br> 3 <%= i.text_field :tag_list %> 4 </div>
これが、tags内において、下記のように
taggings内においては下記のような状態です。
しかし、show.html.erbにおいて、下記コードを記載して一覧表示しようとすると、tag_listがundefined methodとなってしまいます。
ruby
1<p>Tags: <%= @author.tag_list %></p>
公式チュートリアルには記載されておりませんでしたが、こちらの記事( https://stackoverflow.com/questions/15503045/tag-list-not-showing-up-in-form-rails )などを参考にして、categoryのモデル内に下記を書いてみたりもしましたが、今度はtagsに対してerrorが表示されてしまいました。
def tag_list self.tags.map(&:name).join(', ') end
なお、categoryモデルはbelongs_toとなっている状態です。
ruby
1class Category < ApplicationRecord 2 belongs_to :author, optional: true, required:true 3 acts_as_taggable 4end
ruby
1class Author < ApplicationRecord 2 has_many :categories, inverse_of: :author 3 accepts_nested_attributes_for :categories, allow_destroy: true 4end 5
そのため、パラメータについては、authorのコントローラ内に下記のように記載しております。(念のため:tag_listを2箇所に記載したりもしました)
ruby
1def author_params 2 params.require(:author).permit(:user_id, :tag_list, 3 categories_attributes: [:id, :name, :number, :tag_list, :_destroy]) 4end
もし、解決法の糸口だけでも思い当たる方がいらっしゃれば、ご教示いただけますと幸いです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。