前提・実現したいこと
ruby初心者です。
タスク管理にユーザーログインを実装させ、タスクにユーザの紐付けすること
###発生している問題・エラーメッセージ
タスクにユーザー登録をしログインできるようになったが、タスク管理アプリの投稿や詳細機能でエラーが出るようになった
###該当のソースコード
config/routes.rb
<h1>タスクリスト一覧</h1> <ul> <% @tasks.each do |task| %> <li><%= link_to task.id, task %> : <%= task.status %> > <li><%= task.content %></li> <% end %> </ul>Rails.application.routes.draw
1 # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html 2 root to: 'tasks#index' 3 4 get 'login', to: 'sessions#new' 5 post 'login', to: 'sessions#create' 6 delete 'logout', to: 'sessions#destroy' 7 8 resources :users 9 get 'login', to:'users#new' 10 resources :tasks, only: [:index, :show, :new, :create] 11end 12 13```app/views/tasks/show.html.erb 14```<h1>id: <%= @task.id %> のタスク詳細ページ</h1> 15 16<p>ステータス: <%= @task.status %></p> 17<p>タスク<%= @task.content %></p> 18 19<%= link_to '一覧に戻る', tasks_path %> 20<%= link_to 'このタスクを編集する', edit_task_path(@task) %> 21<%= link_to 'このタスクを削除する', @task, method: :delete, data: { confirm: '本当に削除してよろしいですか?' } %> 22 23```app/views/tasks/index.html.erb
<%= link_to '新規タスクの投稿', new_task_path %>
app/controller/tasks_controller
1
class TasksController < ApplicationController
before_action :require_user_logged_in, only: [:index, :show]
def index
@tasks = Task.all
end
def show
end
def new
@task = Task.new
end
def create
@task = Task.new(task_params)
if @task.save flash[:success] = 'Task が正常に投稿されました' redirect_to @task else flash.now[:danger] = 'Task が投稿されませんでした' render :new end
end
def edit
end
def update
if @task.update(task_params)
flash[:success] = 'Task は正常に更新されました'
redirect_to @task
else
flash.now[:danger] = 'Task は更新されませんでした'
render :edit
end
end
def destroy
@task.destroy
flash[:success] = 'Task は正常に削除されました' redirect_to tasks_url
end
private
Strong Parameter
def set_task
@task = Task.find(params[:id])
end
def task_params
params.require(:task).permit(:content, :status)
end
end
###自分で調べたことや試したこと rootの変更やコードの変更 ###使っているツールのバージョンなど補足情報 Rails 5.2.3 ログイン機能を実装する前では投稿昨日は使えていた