2014-11-08 4 views
0

Я хотел бы создать кнопку New Task, который будет перенаправлять на /users/:user_id/tasks/new
Маршруты:Вложенные маршруты, проходящие: user_id

devise_for :users 
    resources :users do 
    resources :tasks, shallow: true 
    end 

Задача контроллера:

def new 
    @task = Task.new 
    end 

Вид:

<%= link_to "New Task", new_user_task_path(@user) %> 

но это дает мне - No route matches {:action=>"new", :controller=>"tasks", :user_id=>nil} missing required keys: [:user_id] Ошибка.

ответ

0

Вместо того, чтобы иметь new_user_task_path(@user), вы хотели бы иметь, возможно, new_user_task_path(current_user). @user есть nil в этом случае.

+0

Большое спасибо. Я попытался с current_user один раз и не знаю, почему это не сработало, возможно, перезагрузка сервера rails была необходима. – Gregy

Смежные вопросы