Skip to content

Bug when entering more than 10 "belongs_to" items #676

@jasongonzales23

Description

@jasongonzales23

Hi,

I am using the CMS to create menus for a restaurant. The model I have created for this is rather simple.

For each menu I have a 'section' what 'has_many' 'menu_items'.

The issue my client caught was when adding more than 10 'menu_items' to a section (a quite common use-case).

I reproduced this issue locally. I will share the network response from the browser below:

Response: {"_slug":["is already taken"]}

Here are the headers:

Request URL:http://localhost:8080/locomotive/content_types/wine_items/entries
Request Method:POST
Status Code:422 Unprocessable Entity
Request Headersview source
Accept:application/json, text/javascript, */*; q=0.01
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
Content-Length:962
Content-Type:multipart/form-data; boundary=----WebKitFormBoundary6BK2SLshgbcjUqAk
Cookie:folder-5169b6e77a2f2ead74000007=none; folder-5172f5337a2f2e7c98000002=none; folder-5169f2c47a2f2eb0e7000012=none; _demo_app_session=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJTcyNDRmMTYzNThlYzdhNmZjMmM5NjRjYTZiYWUyOGEzBjsAVEkiEF9jc3JmX3Rva2VuBjsARkkiMVpxUnRmS1dkeko1Zm82Zy9SVXZYemxhUjJoZVJHTE5hOERPcGJFS20wOXc9BjsARg%3D%3D--8730f75134d7c0597c1814236982fc4cc69b40f1; _sample_app_session=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJWUwNzM0ODhmNjY3NGRlNWUwMzY2ZWMxZWJmNGJiYjRlBjsAVEkiEF9jc3JmX3Rva2VuBjsARkkiMURmTklGQnBIWG9wdHFoSlNmNTJxVzV6U0ZvaEFPSk5Ca0ZsQlNxRFFhWG89BjsARg%3D%3D--4b8e6a9213de01b2d681ab9ebf1d195b289d80cd; sessionid=df94571120c1e231cf52f46d9f9a9a6d; csrftoken=tR2SKnCIoZaFafjJfQtQVYsi3FtCmXGD; remember_locomotive_account_token=BAhbB1sGbzoTQlNPTjo6T2JqZWN0SWQGOgpAZGF0YVsRaVZpe2kNaTBpf2k0aTNpAalpAZBpAGkAaQdJIhk3bnlKS2VVQ25WRDVMZzFoaWlURQY6BkVU--48499736cd3d10e682dba20adfc41ca49bbad621; _locomotivecms_session=BAh7CkkiD3Nlc3Npb25faWQGOgZFRkkiJWY2NDg5ZjZkMzM5ZWYzMTdjZTRkMGM3YmNiZTBiMWNiBjsAVEkiEF9jc3JmX3Rva2VuBjsARkkiMVZ2cjN3K3ZjNTlaSFJkSU9weVM2T0hoYmFLenB2NkFOeDhRVVlCSTF3bU09BjsARkkiJ3dhcmRlbi51c2VyLmxvY29tb3RpdmVfYWNjb3VudC5rZXkGOwBUWwhJIhhMb2NvbW90aXZlOjpBY2NvdW50BjsARlsGbzoTQlNPTjo6T2JqZWN0SWQGOgpAZGF0YVsRaVZpe2kNaTBpf2k0aTNpAalpAZBpAGkAaQdJIhk3bnlKS2VVQ25WRDVMZzFoaWlURQY7AFRJIgpmbGFzaAY7AEZvOiVBY3Rpb25EaXNwYXRjaDo6Rmxhc2g6OkZsYXNoSGFzaAk6CkB1c2VkbzoIU2V0BjoKQGhhc2h7BjoLbm90aWNlVDoMQGNsb3NlZEY6DUBmbGFzaGVzewY7DEkiHFNpZ25lZCBpbiBzdWNjZXNzZnVsbHkuBjsAVDoJQG5vdzBJIhNjb250ZW50X2xvY2FsZQY7AEZJIgdlbgY7AFQ%3D--9fe8efd44983b3d500e266b5e5dfc95aadee830a; s_cc=true; s_nr=1367075239618-Repeat; s_evar5=ReservationWidget; s_cmrun=1; s_sq=%5B%5BB%5D%5D; _gallerie_locomotive_session=BAh7CkkiD3Nlc3Npb25faWQGOgZFRkkiJTM1NTA3ZjVhZTkyYjBhM2ZjMjFlNDc1YzM1MDFkNTNlBjsAVEkiEF9jc3JmX3Rva2VuBjsARkkiMTZnWFduaitlZk1JU0RYalRVMHphbUMzN1Z5eFY4NmtZK21WS1NqejduS2c9BjsARkkiJ3dhcmRlbi51c2VyLmxvY29tb3RpdmVfYWNjb3VudC5rZXkGOwBUWwhJIhhMb2NvbW90aXZlOjpBY2NvdW50BjsARlsGbzoTQlNPTjo6T2JqZWN0SWQGOgpAZGF0YVsRaVZpbmkB8Gl3aX9pNGkzaQGwaQHnaQBpAGkHSSIZSkh6eDhnN1pQeVRjZ2JVenRaZVAGOwBUSSITY29udGVudF9sb2NhbGUGOwBGSSIHZW4GOwBUSSIKZmxhc2gGOwBGbzolQWN0aW9uRGlzcGF0Y2g6OkZsYXNoOjpGbGFzaEhhc2gJOgpAdXNlZG86CFNldAY6CkBoYXNoewY6C25vdGljZVQ6DEBjbG9zZWRGOg1AZmxhc2hlc3sGOwxJQzoeQWN0aXZlU3VwcG9ydDo6U2FmZUJ1ZmZlciIkRW50cnkgd2FzIHN1Y2Nlc3NmdWxseSBjcmVhdGVkLgc7AFQ6D0BodG1sX3NhZmVUOglAbm93MA%3D%3D--db1aef57dcb90db4500797e7e876e276bce505fe
Host:localhost:8080
Origin:http://localhost:8080
Referer:http://localhost:8080/locomotive/content_types/wine_sections/entries/517c1a257a2f2e0d0a00000a/edit
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.65 Safari/537.36
X-CSRF-Token:6gXWnj+efMISDXjTU0zamC37VyxV86kY+mVKSjz7nKg=
X-Flash:true
X-Requested-With:XMLHttpRequest
Request Payload
------WebKitFormBoundary6BK2SLshgbcjUqAk
Content-Disposition: form-data; name="xhr"

true
------WebKitFormBoundary6BK2SLshgbcjUqAk
Content-Disposition: form-data; name="content_locale"

en
------WebKitFormBoundary6BK2SLshgbcjUqAk
Content-Disposition: form-data; name="content_entry[publish]"

true
------WebKitFormBoundary6BK2SLshgbcjUqAk
Content-Disposition: form-data; name="content_entry[wine_menu_section_id]"

517c1a257a2f2e0d0a00000a
------WebKitFormBoundary6BK2SLshgbcjUqAk
Content-Disposition: form-data; name="content_entry[title]"

rot gut 11
------WebKitFormBoundary6BK2SLshgbcjUqAk
Content-Disposition: form-data; name="content_entry[description]"

sadf
------WebKitFormBoundary6BK2SLshgbcjUqAk
Content-Disposition: form-data; name="content_entry[price]"

asdf
------WebKitFormBoundary6BK2SLshgbcjUqAk
Content-Disposition: form-data; name="content_entry[_slug]"

rot-gut-10
------WebKitFormBoundary6BK2SLshgbcjUqAk--
Response Headersview source
Cache-Control:no-cache
Connection:close
Content-Type:application/json; charset=utf-8
Date:Sat, 27 Apr 2013 19:05:55 GMT
Location:http://localhost:8080/locomotive/content_types/wine_items/entries/517c21937a2f2e0d0a000028/edit
Set-Cookie:_gallerie_locomotive_session=BAh7CkkiD3Nlc3Npb25faWQGOgZFRkkiJTM1NTA3ZjVhZTkyYjBhM2ZjMjFlNDc1YzM1MDFkNTNlBjsAVEkiEF9jc3JmX3Rva2VuBjsARkkiMTZnWFduaitlZk1JU0RYalRVMHphbUMzN1Z5eFY4NmtZK21WS1NqejduS2c9BjsARkkiJ3dhcmRlbi51c2VyLmxvY29tb3RpdmVfYWNjb3VudC5rZXkGOwBUWwhJIhhMb2NvbW90aXZlOjpBY2NvdW50BjsARlsGbzoTQlNPTjo6T2JqZWN0SWQGOgpAZGF0YVsRaVZpbmkB8Gl3aX9pNGkzaQGwaQHnaQBpAGkHSSIZSkh6eDhnN1pQeVRjZ2JVenRaZVAGOwBUSSITY29udGVudF9sb2NhbGUGOwBGSSIHZW4GOwBUSSIKZmxhc2gGOwBGbzolQWN0aW9uRGlzcGF0Y2g6OkZsYXNoOjpGbGFzaEhhc2gJOgpAdXNlZG86CFNldAY6CkBoYXNoewY6CmFsZXJ0VDoMQGNsb3NlZEY6DUBmbGFzaGVzewY7DElDOh5BY3RpdmVTdXBwb3J0OjpTYWZlQnVmZmVyIhtFbnRyeSB3YXMgbm90IGNyZWF0ZWQuBzsAVDoPQGh0bWxfc2FmZVQ6CUBub3dvOiRBY3Rpb25EaXNwYXRjaDo6Rmxhc2g6OkZsYXNoTm93BjoLQGZsYXNoQBQ%3D--061ba969e062e97ad718cb3e38bbe32fa825594a; path=/; HttpOnly
Status:422 Unprocessable Entity
X-Message:"Entry was not created."
X-Message-Type:alert
X-Request-Id:2ca4362c36235903ec18645eb0cc9666
X-Runtime:0.028577
X-UA-Compatible:IE=Edge

Lastly here is the log from where the issue occurred:

Started POST "/locomotive/content_types/wine_items/entries" for 127.0.0.1 at 2013-04-27 12:05:55 -0700
Processing by Locomotive::ContentEntriesController#create as JSON
  Parameters: {"xhr"=>"true", "content_locale"=>"en", "content_entry"=>{"publish"=>"true", "wine_menu_section_id"=>"517c1a257a2f2e0d0a00000a", "title"=>"rot gut 11", "description"=>"sadf", "price"=>"asdf", "_slug"=>"rot-gut-10"}, "slug"=>"wine_items"}
[LocomotiveCMS] [fetch site] host = localhost / localhost:8080
MONGODB locomotive_dev['locomotive_sites'].find({}).limit(-1).sort([[:_id, :asc]])
MONGODB locomotive_dev['locomotive_accounts'].find({:_id=>BSON::ObjectId('5169f0727a2f2eb0e7000002')}).limit(-1).sort([[:_id, :asc]])
MONGODB locomotive_dev['locomotive_accounts'].find({:_id=>{"$in"=>[BSON::ObjectId('5169f0727a2f2eb0e7000002'), BSON::ObjectId('516b56e37a2f2eb3bc0000da')]}})
MONGODB locomotive_dev['locomotive_content_types'].find({"site_id"=>BSON::ObjectId('5169f0797a2f2eb0e7000004'), :slug=>"wine_items"}).limit(-1).sort([[:_id, :asc]])
MONGODB locomotive_dev['locomotive_content_entries'].find({:_id=>{"$ne"=>BSON::ObjectId('517c21937a2f2e0d0a000028')}, :_slug=>"rot-gut-10", :_type=>{"$in"=>["Locomotive::ContentEntry516b50657a2f2eb3bc00009f"]}})
MONGODB locomotive_dev['locomotive_content_entries'].find({:_id=>{"$ne"=>BSON::ObjectId('517c21937a2f2e0d0a000028')}, :_slug=>/^rot-gut-?\d*?$/i, :_type=>{"$in"=>["Locomotive::ContentEntry516b50657a2f2eb3bc00009f"]}}).limit(-1).sort([[:_id, :desc]])
MONGODB locomotive_dev['$cmd'].find({"count"=>"locomotive_content_entries", "query"=>{:_slug=>"rot-gut-1", :content_type_id=>BSON::ObjectId('516b50657a2f2eb3bc00009f')}, "fields"=>nil}).limit(-1)
Completed 422 Unprocessable Entity in 14ms (Views: 0.2ms)

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions