2014-09-12 4 views
1

Я новичок в рельсах, и у меня возникают проблемы на сайте продаж, у меня есть Пользователь и продюсирование protuto. Пользователь принадлежит, все работает правильно exeto редактировать действие продукта ,ActionController :: UrlGenerationError в продуктах # edit

ActionController :: UrlGenerationError в продуктах # редактировать

нет маршрута матчи {: действие => "показать",: контроллер => "продукты", формат: => ноль,: идентификатор => ноль,: user_id => #} отсутствует необходимые клавиши: [: идентификатор]

my_edit 
    <h1>Editing product</h1> 

    <%= render 'form' %> 

    <%= link_to 'Show', @product %> | 
    <%= link_to 'Back', products_path %> 

my _form 

    <%= form_for [:user,@product], :html => {multipart: true} do |f| %> 
     <% if @product.errors.any? %> 
     <div id="error_explanation"> 
      <h2><%= pluralize(@product.errors.count, "error") %> prohibited this product from being saved:</h2> 

      <ul> 
      <% @product.errors.full_messages.each do |message| %> 
      <li><%= message %></li> 
      <% end %> 
      </ul> 
     </div> 
     <% end %> 

     <div class="field"> 
     <%= f.label :title %><br> 
     <%= f.text_field :title %> 
     </div> 
     <div class="field"> 
     <%= f.label :price %><br> 
     <%= f.text_field :price %> 
     </div> 
     <div class="field"> 
     <%= f.label :local %><br> 
     <%= f.text_field :local %> 
     </div> 
     <div class="field"> 
     <%= f.label :description %><br> 
     <%= f.text_area :description %> 
     </div> 
     <div class="field"> 
     <%= f.label :category_id %><br> 
     <%= f.select :category_id, Category.all.map {|c| [c.name, c.id]} %> 
     </div> 
     <div class="field"> 
     <%= f.label :contacts %><br> 
     <%= f.text_field :contacts %> 
     </div> 
     <div class="field"> 
     <%= f.label :image %><br> 
     <%= f.file_field :image %> 
     </div> 
     <div class="actions"> 
     <%= f.submit %> 
     </div> 
    <% end %> 


my rake routes 

Prefix Verb URI Pattern         Controller#Action 
    sessions_new GET /sessions/new(.:format)      sessions#new 
category_category GET /categories/:id/category(.:format)   categories#category 
     categories GET /categories(.:format)      categories#index 
        POST /categories(.:format)      categories#create 
    new_category GET /categories/new(.:format)     categories#new 
    edit_category GET /categories/:id/edit(.:format)    categories#edit 
     category GET /categories/:id(.:format)     categories#show 
        PATCH /categories/:id(.:format)     categories#update 
        PUT /categories/:id(.:format)     categories#update 
        DELETE /categories/:id(.:format)     categories#destroy 
     home_index GET /home(.:format)        home#index 
        POST /home(.:format)        home#create 
     new_home GET /home/new(.:format)       home#new 
     edit_home GET /home/:id/edit(.:format)     home#edit 
      home GET /home/:id(.:format)       home#show 
        PATCH /home/:id(.:format)       home#update 
        PUT /home/:id(.:format)       home#update 
        DELETE /home/:id(.:format)       home#destroy 
    profile_user GET /users/:id/profile(.:format)    users#profile 
    user_products GET /users/:user_id/products(.:format)   products#index 
        POST /users/:user_id/products(.:format)   products#create 
new_user_product GET /users/:user_id/products/new(.:format)  products#new 
edit_user_product GET /users/:user_id/products/:id/edit(.:format) products#edit 
    user_product GET /users/:user_id/products/:id(.:format)  products#show 
        PATCH /users/:user_id/products/:id(.:format)  products#update 
        PUT /users/:user_id/products/:id(.:format)  products#update 
        DELETE /users/:user_id/products/:id(.:format)  products#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 
     sessions POST /sessions(.:format)       sessions#create 
      login GET /login(.:format)       sessions#new 
      logout GET /logout(.:format)       sessions#destroy 
      root GET /           home#index 
+0

вы можете показать свою ссылку, которая принимает редактировать страницу? – Mandeep

+0

ОК <% = link_to 'Edit', edit_user_product_path%> – 2014-09-12 18:51:13

+0

Разместите ошибки трассировку и связанный контроллер/форма кода – RAJ

ответ

0

Из ваших комментариев, которые я обнаружил, что вам не хватает, чтобы передать идентификатор продукта.

Вам необходимо пройти @user & @product объектов, как это:

<%= link_to 'Edit', edit_user_product_path(@user, @product) %> 
+0

ISSO нао funcionou, о Эрро apenas муд пункт Эст ActionController :: UrlGenerationError в продуктах # не показывать нет соответствующего маршрута {: действие => "Изменить",: контроллер => "продукты",: Формат => ноль ,: id => nil,: user_id => # <Идентификатор продукта: 1, название: "mac com windows", цена: 34233.0, local: "rwfr", описание: "4243", category_id: 1, контакты: "fwefwedfs ", created_at:" 2014-09-12 17:56:10 ", updated_at:" 2014-09-12 17:56:11 ", image_file_name:" product-6.jpg ", image_content_type:" image/jpeg ", image_file_size: 6834, image_updated_at: «2014-09-12 17:56:10», user_id: 1>} отсутствуют необходимые ключи: [: id] – 2014-09-12 19:14:38

+0

Произошла ли ошибка при отправке формы? Проверить обновленный ответ – RAJ

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