nozominozonozo
@nozominozonozo

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

【heroku × Ruby × MySQL】 herokuへデプロイした際に発生したエラーを解決したいです

解決したいこと

【heroku × Ruby × MySQL】
herokuへデプロイした際に発生したエラーを解決したいです。
ローカル環境では問題ありませんでした。

Ruby:2.6.5
Rails:6.0.3.6

発生している問題・エラー

 ActionView::Template::Error (undefined method `color' for

仮説としてはタグを投稿する際にカラーパレットからカラーを登録、一覧表示する際に登録したカラーが投稿タグの背景カラーになるようにしているのですが、その一覧表示する際にエラーが発生していると思われます。

該当するソースコード

index.html.erb (トップページ)

<div class="main">
  <!--検索欄 -->
  <div class="">
    <%= form_with(url: search_tags_path, local: true, method: :get, class: "") do |form| %>
      <%= form.text_field :keyword, placeholder: "タグを検索する", class: "" %>
      <%= form.submit "検索", class: "" %>
    <% end %>
  </div>

  <!-- 投稿タグ一覧 -->
  <div class="tag-main">
    <p><タグ一覧></p>
    <div class="tag-sub">
      <% @tags.each do |tag| %>
        <div style="background-color:<%= tag.color %>">
          <p>#<%= link_to tag.text_tag, tag_path(tag.id) %></p>
        </div>
        <p>by.<%= link_to tag.user.nickname, user_path(tag.user.id), method: :get %></p>
      <% end %>
    </div>
  </div>

  <!-- プロジェクト一覧 -->
  <div class="project-main">
    <p><プロジェクト一覧></p>
    <div class="card">
      <% @projects.each do |project| %>
        <div class="card_body">
          <p>【プロジェクト名】: <%= link_to project.main_title, project_path(project.id) %></p>
          <%= link_to image_tag(project.image), class: :img %>
          <p>【開始日】:<%= project.start_date %></p>
          <p>【終了日】:<%= project.finish_date %></p>
          <p>by.<%= link_to project.user.nickname, user_path(project.user.id) %></p>
        </div>
      <% end %>
    </div>
  </div>
</div>

new.html.erb (タグ作成ページ)

<div class="">
  <div class="">
    <h3>タグを作成する</h3>
    <%= form_with(model: @tag, local: true) do |form| %>
      <%= form.text_field :text_tag, placeholder: "tag" %>
      <%= form.text_field :text_memo, placeholder: "memo" %>
      <p>【Color】<%= form.color_field :color %></p>
      <%= form.submit "作成する" %>
    <% end %>
  </div>
</div>

tags_controller.rb (タグコントローラー)

class TagsController < ApplicationController
  before_action :authenticate_user!, except: [:index, :show]
  before_action :find_params, only: [:edit, :show]

  def index
    @tags = Tag.includes(:user).order("created_at DESC")
    @projects = Project.includes(:user).order("created_at DESC")
  end

  def new
    @tag = Tag.new
  end

  def create
    Tag.create(tag_params)
  end

  def destroy
    tag = Tag.find(params[:id])
    tag.destroy
  end

  def edit
  end

  def update
    tag = Tag.find(params[:id])
    tag.update(tag_params)
  end

  def show
    @tag = Tag.find(params[:id])
  end

  def search
    @tags = Tag.search(params[:keyword])
  end

  private
  def tag_params
    params.require(:tag).permit(:text_tag, :text_memo, :color).merge(user_id: current_user.id)
  end

  def find_params
    @tag = Tag.find(params[:id])
  end
end

mysql(tagsテーブル)

自分で試したこと

上記仮説よりheroku上でのmysqlのマイグレーションを実施したが解決されず。

0

No Answers yet.

Your answer might help someone💌