Started POST "/tasks" for 127.0.0.1 at 2018-09-25 17:25:24 +0100
Processing by TasksController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"MnJuOlEcHfPYca7mzWk5WdEO0jVcuS+gGWiFVC++ARNmtpPTjC/9sd7AGpgV8LSybNjz1PoOIdDYddUhnOAFOw==", "task"=>{"name"=>"j", "description"=>"j"}, "commit"=>"Create Task"}
User Load (4.4ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT $2 [["id", 1], ["LIMIT", 1]]
↳ /Users/benherring/.rbenv/versions/2.4.4/lib/ruby/gems/2.4.0/gems/activerecord-5.2.1/lib/active_record/log_subscriber.rb:98
(0.3ms) BEGIN
↳ app/controllers/tasks_controller.rb:22
(0.2ms) ROLLBACK
↳ app/controllers/tasks_controller.rb:22
Redirected to http://localhost:3000/tasks
Completed 302 Found in 11ms (ActiveRecord: 4.9ms)
Попытка создать индекс, который отображает только задачи, созданные этим пользователем с помощью devise.посмотрел много здесь, но не могу найти решение моей проблемы.Я сделал ассоциации.текущая ошибка в этой строке <% @tasks.each do |task| %>
.
PG :: UndefinedColumn: ERROR: столбец tasks.user_id не существует
, который отображается красным.мне нужно изменить метод создания?если так как?спасибо
<h1>TASKS</h1>
<div class="body">
<div class="list">
<% @tasks.each do |task| %>
<ul>
<li>
<%= link_to task.user.name ,task_path(task), class: "tasks" %>
|
<%= link_to "Delete", task_path(task), method: :delete, data: {confirm: "Are you sure?"} %>
</li>
</ul>
<% end %>
</div>
<div class="form">
<div>
<%= simple_form_for @task, id: "form-submit" do |f| %>
<%= f.input :name %>
<%= f.input :description %>
<%= f.button :submit, class: "btn btn-danger" ,id: "sweet-alert-demo" %>
<% end %>
</div>
</div>
<%#= link_to "Add Task" ,new_task_path, class: "btn btn-primary" %>
</div>
class TasksController < ApplicationController
def index
# @tasks = Task.all
@task= Task.new
@tasks = Task.where(user: current_user)
end
def show
@task = Task.find(params[:id])
end
def new
# @task = Task.new
# @user = current_user
end
def create
@task = Task.new(task_params)
@task.save
redirect_to tasks_path
end
def edit
@task = Task.find(params[:id])
end
def update
@task = Task.find(params[:id])
@task.update(task_params)
redirect_to task_path
end
def destroy
@task = Task.find(params[:id])
@task.destroy
redirect_to tasks_path
end
private
def task_params
params.require(:task).permit(:name, :description)
end
end