BC2
BC2

Reputation: 1129

No route matches {:controller=>"generators", :action=>"new"} missing required keys: [:user_id]

I'm trying to get this code work but i do not know how should i fix it. the error i got is

No route matches {:controller=>"generators", :action=>"new"} missing required keys: [:user_id]

USER

 has_many :generators
      has_many :results, :through=>:generators

GENERATOR

has_one :result , :dependent => :destroy
  belongs_to :user

RESULT

belongs_to :generator
   belongs_to :user, :through=>:generators

This is my home page with :

 <%= link_to 'HOME', root_path, id:'home' %>
                     <%= link_to 'GENERATE RAPD PRIMER',new_user_generator_path, id:'new' %></li>
                     <%= link_to 'VIEW RESULT HISTORY', user_generators_path,id:'view'%></li>

my rake routes are :

      Prefix Verb   URI Pattern                                   Controller#Action
               signout GET    /signout(.:format)                            sessions#destroy
                  root GET    /                                             welcome#index
                       GET    /auth/:provider/callback(.:format)            sessions#create
auth_identity_callback POST   /auth/identity/callback(.:format)             sessions#create
       user_generators GET    /users/:user_id/generators(.:format)          generators#index
                       POST   /users/:user_id/generators(.:format)          generators#create
    new_user_generator GET    /users/:user_id/generators/new(.:format)      generators#new
   edit_user_generator GET    /users/:user_id/generators/:id/edit(.:format) generators#edit
        user_generator GET    /users/:user_id/generators/:id(.:format)      generators#show
                       PATCH  /users/:user_id/generators/:id(.:format)      generators#update
                       PUT    /users/:user_id/generators/:id(.:format)      generators#update
                       DELETE /users/:user_id/generators/:id(.:format)      generators#destroy
          user_results GET    /users/:user_id/results(.:format)             results#index
                       POST   /users/:user_id/results(.:format)             results#create
       new_user_result GET    /users/:user_id/results/new(.:format)         results#new
      edit_user_result GET    /users/:user_id/results/:id/edit(.:format)    results#edit
           user_result GET    /users/:user_id/results/:id(.:format)         results#show
                       PATCH  /users/:user_id/results/:id(.:format)         results#update
                       PUT    /users/:user_id/results/:id(.:format)         results#update
                       DELETE /users/:user_id/results/:id(.:format)         results#destroy
                 users GET    /users(.:format)                              users#index
                       POST   /users(.:format)                              users#create
              new_user GET    /users/new(.:format)                          users#new
             edit_user GET    /users/:id/edit(.:format)                     users#edit
                  user GET    /users/:id(.:format)                          users#show
                       PATCH  /users/:id(.:format)                          users#update
                       PUT    /users/:id(.:format)                          users#update
                       DELETE /users/:id(.:format)                          users#destroy
            identities GET    /identities(.:format)                         identities#index
                       POST   /identities(.:format)                         iden
          new_identity GET    /identities/new(.:format)                     iden
         edit_identity GET    /identities/:id/edit(.:format)                iden
              identity GET    /identities/:id(.:format)                     iden
                       PATCH  /identities/:id(.:format)                     iden
                       PUT    /identities/:id(.:format)                     iden
                       DELETE /identities/:id(.:format)                     iden

whenever some1 clicks GENERATE RAPD PRIMER, he/she has to be login first before can use that. So in this error how can i fix them ?

Upvotes: 0

Views: 3030

Answers (2)

David Barrientos
David Barrientos

Reputation: 213

generators_controller

@user = current_user

in the view

<%= link_to 'GENERATE RAPD PRIMER',new_user_generator_path(@user), id:'new' %></li>
<%= link_to 'VIEW RESULT HISTORY', user_generators_path(@user),id:'view'%></li>

Upvotes: 1

dax
dax

Reputation: 11017

in your generators controller, set @user to current user

@user = current_user 
#handle this however you want - define the user that is on the page

then in the view:

<%= link_to 'GENERATE RAPD PRIMER', new_user_generator_path(id:@user.id) %>

Upvotes: 1

Related Questions