challenge記事にタグを付けたいのですが、このようなエラーが出てしまいます。
どうしてでしょうか。
よろしくお願いします。
class Challenge < ApplicationRecord belongs_to :user acts_as_taggable validates :titile, presence: true, length: { maximum: 255 } validates :description, presence: true, length: { maximum: 255 } end
class ChallengesController < ApplicationController before_action :require_user_logged_in before_action :correct_user, only: [:destroy] def index if logged_in? @user = current_user @challenge = current_user.challenges.build # form_for 用 @challenges = current_user.challenges.order('created_at DESC').page(params[:page]) end end def new @challenge = Challenge.new end def create @challenge = current_user.challenges.build(challenge_params) if @challenge.save flash[:success] = 'メッセージを投稿しました。' redirect_to root_url else @challenges = current_user.challenges.order('created_at DESC').page(params[:page]) flash.now[:danger] = 'メッセージの投稿に失敗しました。' render 'toppages/index' end end def destroy @challenge.destroy flash[:success] = 'メッセージを削除しました。' redirect_back(fallback_location: root_path) end private def challenge_params params.require(:challenge).permit(:titile, :description, :tag_list) end def correct_user @challenge = current_user.challenges.find_by(id: params[:id]) unless @challenge redirect_to root_url end end end
class UsersController < ApplicationController before_action :require_user_logged_in, only: [:index, :show] def index @users = User.all.page(params[:page]) end def show if logged_in? @user = current_user @challenge = current_user.challenges.build # form_for 用 @challenges = current_user.challenges.order('created_at DESC').page(params[:page]) end @user = User.find(params[:id]) @challenges = @user.challenges.order('created_at DESC').page(params[:page]) counts(@user) end def new @user = User.new end def create @user = User.new(user_params) if @user.save flash[:success] = 'ユーザーを登録しました' redirect_to @user else flash.now[:danger] = '登録に失敗しました' render :new end end private def user_params params.require(:user).permit(:name, :email, :password, :password_confirmation) end end
<div class="field form-group form-group-lg"> <%= f.label :tag_list, class: "sr-only control-label" %> <%= text_field_tag 'draft[tag_list]', draft.tag_list.join(","), class: "form-control" %> </div> <%= form_for(@challenge) do |f| %> <div class="form-group"> <%= f.text_area :titile, class: 'form-control', rows: 1 %> <%= f.text_area :description, class: 'form-control', rows: 5 %> </div> <%= f.submit 'Post', class: 'btn btn-primary btn-block' %> <% end %>
あなたの回答
tips
プレビュー