Javascript 未定义的方法'item_path';在使用ajax时

Javascript 未定义的方法'item_path';在使用ajax时,javascript,jquery,ruby-on-rails,ajax,Javascript,Jquery,Ruby On Rails,Ajax,我试图更新我的createitem操作以使用Ajax,但是我得到了一个undefined methoditem\u path`错误,这是我以前在以常规html格式响应时没有得到的。该项已创建并保存,但ajax似乎无法正常工作 user_items GET /users/:user_id/items(.:format) items#index POST /users/:user_id/items(.:format)

我试图更新我的create
item
操作以使用Ajax,但是我得到了一个
undefined method
item\u path`错误,这是我以前在以常规html格式响应时没有得到的。该项已创建并保存,但ajax似乎无法正常工作

user_items GET    /users/:user_id/items(.:format)          items#index
                     POST   /users/:user_id/items(.:format)          items#create
       new_user_item GET    /users/:user_id/items/new(.:format)      items#new
      edit_user_item GET    /users/:user_id/items/:id/edit(.:format) items#edit
           user_item GET    /users/:user_id/items/:id(.:format)      items#show
                     PATCH  /users/:user_id/items/:id(.:format)      items#update
                     PUT    /users/:user_id/items/:id(.:format)      items#update
                     DELETE /users/:user_id/items/:id(.:format)      items#destroy
这是我的"部分":

   <%= form_for [@user, item], remote: true do |f|%>
      <div class="form-group">
        <%= f.label :name, class: 'sr-only' %>
        <%= f.text_field :name , class: 'form-control', placeholder: "Enter a new item " %>
      </div>
      <%= f.submit "Submit Item", class: 'btn btn-primary pull-right' %>
    <% end %>
user_items GET    /users/:user_id/items(.:format)          items#index
                     POST   /users/:user_id/items(.:format)          items#create
       new_user_item GET    /users/:user_id/items/new(.:format)      items#new
      edit_user_item GET    /users/:user_id/items/:id/edit(.:format) items#edit
           user_item GET    /users/:user_id/items/:id(.:format)      items#show
                     PATCH  /users/:user_id/items/:id(.:format)      items#update
                     PUT    /users/:user_id/items/:id(.:format)      items#update
                     DELETE /users/:user_id/items/:id(.:format)      items#destroy
create.js.erb:

$('.js-items').prepend("<%= escape_javascript(render(@item)) %>");
   $('.new-item').html("<%= escape_javascript(render partial: 'items/form', locals: {user: @user , item: @item }) %>");
user_items GET    /users/:user_id/items(.:format)          items#index
                     POST   /users/:user_id/items(.:format)          items#create
       new_user_item GET    /users/:user_id/items/new(.:format)      items#new
      edit_user_item GET    /users/:user_id/items/:id/edit(.:format) items#edit
           user_item GET    /users/:user_id/items/:id(.:format)      items#show
                     PATCH  /users/:user_id/items/:id(.:format)      items#update
                     PUT    /users/:user_id/items/:id(.:format)      items#update
                     DELETE /users/:user_id/items/:id(.:format)      items#destroy
我进入rails时出错:

user_items GET    /users/:user_id/items(.:format)          items#index
                     POST   /users/:user_id/items(.:format)          items#create
       new_user_item GET    /users/:user_id/items/new(.:format)      items#new
      edit_user_item GET    /users/:user_id/items/:id/edit(.:format) items#edit
           user_item GET    /users/:user_id/items/:id(.:format)      items#show
                     PATCH  /users/:user_id/items/:id(.:format)      items#update
                     PUT    /users/:user_id/items/:id(.:format)      items#update
                     DELETE /users/:user_id/items/:id(.:format)      items#destroy
ActionView::Template::Error (undefined method `item_path' for #<#<Class:0x007fa4f0d30cd8>:0x007fa4f31b26b0>):
    1: <%= form_for [@user, item], remote: true do |f|%>
    2:   <div class="form-group">
    3:     <%= f.label :name, class: 'sr-only' %>
    4:     <%= f.text_field :name , class: 'form-control', placeholder: "Enter a new item " %>
  app/views/items/_form.html.erb:1:in `_app_views_items__form_html_erb__331698480542899910_70173200751480'
  app/views/items/create.js.erb:2:in `_app_views_items_create_js_erb___3618987352886002527_70173200313760'
  app/controllers/items_controller.rb:17:in `create'
ActionView::Template::Error(未定义的#的“item_path”方法):
1: 
2:   
三:
4:     
app/views/items/_-form.html.erb:1:in`_-app\u-views\u-items\u-form\u-html\u-erb\u 331698480542899910\u 70173200751480'
app/views/items/create.js.erb:2:in`_app_views_items_create_js_erb_3618987352886002527_70173200313760'
app/controllers/items\u controller.rb:17:in'create'

做类似的事情

user_items GET    /users/:user_id/items(.:format)          items#index
                     POST   /users/:user_id/items(.:format)          items#create
       new_user_item GET    /users/:user_id/items/new(.:format)      items#new
      edit_user_item GET    /users/:user_id/items/:id/edit(.:format) items#edit
           user_item GET    /users/:user_id/items/:id(.:format)      items#show
                     PATCH  /users/:user_id/items/:id(.:format)      items#update
                     PUT    /users/:user_id/items/:id(.:format)      items#update
                     DELETE /users/:user_id/items/:id(.:format)      items#destroy
<%= form_for [@user, item], user_items, remote: true do |f|%>

在终端中查看您的路径。

您的部分中的路径设置有问题。@mohammadshahahadathossain我认为这是因为rails的错误清楚地说明了这一点,但idk我无法修复它。我尝试了它,但它不起作用这里是我的项目路径
POST/users/:user\u id/items(:format)items#create new_user_item GET/users/:user_id/items/new(:format)items#new
我得到一个完全不同的错误
未定义的方法#`
user_items GET    /users/:user_id/items(.:format)          items#index
                     POST   /users/:user_id/items(.:format)          items#create
       new_user_item GET    /users/:user_id/items/new(.:format)      items#new
      edit_user_item GET    /users/:user_id/items/:id/edit(.:format) items#edit
           user_item GET    /users/:user_id/items/:id(.:format)      items#show
                     PATCH  /users/:user_id/items/:id(.:format)      items#update
                     PUT    /users/:user_id/items/:id(.:format)      items#update
                     DELETE /users/:user_id/items/:id(.:format)      items#destroy