当前位置:网站首页>In rails, when the resource creation operation fails and render: new is called, why must the URL be changed to the index URL of the resource?
In rails, when the resource creation operation fails and render: new is called, why must the URL be changed to the index URL of the resource?
2022-07-07 00:59:00 【fyin1314】
problem :
I have a resource called Books. I have a resource called books .It's listed as a resource properly in my routes file. It is correctly listed as a resource in my routing file .
I have a new action, which gives the new view the standard: I have a new action , It provides a standard for new views :
@book = Book.new
On the model, there are some attributes which are validated by presence, so if a save action fails, errors will be generated. On the model , Some properties are verified by existence , So if the save operation fails , An error is generated .
In my controller: In my controller :
@book = Book.create... # some logicif @book.save redirect_to(@book)else render :newend
This is pretty standard; This is very standard ;and the rationale for using render:new is so that the object is passed back to the view and errors can be reported, form entries re-filled, etc. Use render:new The basic principle of is to pass objects back to the view and report errors 、 Refill form entries, etc .
This works, except every time I'm sent back to the form (via render :new), my errors show up, but my URL is the INDEX URL, which is It works , Except every time I am sent back to the form ( By rendering :new) when , My mistakes will show up , But mine URL yes INDEX URL, It is
/books
Rather than instead of
/books/new
Which is where I started out in the first place. This is where I started .I have seen several others posts about this problem, but no answers. I have read several other posts on this issue , But there is no answer .At a minimum, one would assume it would land you at /books/create, which I also have a view file for (identical to new in this case). At least , People will assume that it will let you enter /books/create, I also have a view file ( In this case with new identical ).
I can do this: I can do this :
# if the book isn't saved thenflash[:error] = "Errors!"redirect_to new_book_path
But then the @book data is lost, along with the error messages, which is the entire point of having the form and the actions, etc. But then @book Data and error messages are lost , This is the whole meaning of having forms and operations .
Why is render :new landing me at /books, my index action, when normally that URL calls the INDEX method, which lists all the books? Why? render :new Log me in to /books, My indexing operation , Usually it's time to URL call INDEX Method , This method lists all books ?
Solution :
Reference resources : https://stackoom.com/en/question/ynXG边栏推荐
- Provincial and urban level three coordinate boundary data CSV to JSON
- Interface (interface related meaning, different abstract classes, interface callback)
- 新手如何入门学习PostgreSQL?
- Batch obtain the latitude coordinates of all administrative regions in China (to the county level)
- Chapter II proxy and cookies of urllib Library
- [user defined type] structure, union, enumeration
- Part IV: STM32 interrupt control programming
- Markov decision process
- Installation and testing of pyflink
- Meet the level 3 requirements of ISO 2.0 with the level B construction standard of computer room | hybrid cloud infrastructure
猜你喜欢
Memory optimization of Amazon memorydb for redis and Amazon elasticache for redis
Return to blowing marshland -- travel notes of zhailidong, founder of duanzhitang
Deep learning environment configuration jupyter notebook
. Bytecode structure of class file
英雄联盟|王者|穿越火线 bgm AI配乐大赛分享
Distributed cache
【批处理DOS-CMD命令-汇总和小结】-字符串搜索、查找、筛选命令(find、findstr),Find和findstr的区别和辨析
学习光线跟踪一样的自3D表征Ego3RT
深度学习之环境配置 jupyter notebook
Deep understanding of distributed cache design
随机推荐
Let's talk about 15 data source websites I often use
Address information parsing in one line of code
[software reverse automation] complete collection of reverse tools
Mujoco produces analog video
Part V: STM32 system timer and general timer programming
Model-Free Prediction
Tencent cloud webshell experience
Advanced learning of MySQL -- Fundamentals -- concurrency of transactions
Part 7: STM32 serial communication programming
再聊聊我常用的15个数据源网站
Attention slam: a visual monocular slam that learns from human attention
Slam d'attention: un slam visuel monoculaire appris de l'attention humaine
New feature of Oracle 19C: automatic DML redirection of ADG, enhanced read-write separation -- ADG_ REDIRECT_ DML
Explain in detail the implementation of call, apply and bind in JS (source code implementation)
Meet the level 3 requirements of ISO 2.0 with the level B construction standard of computer room | hybrid cloud infrastructure
Notes of training courses selected by Massey school
新手如何入门学习PostgreSQL?
. Bytecode structure of class file
批量获取中国所有行政区域经边界纬度坐标(到县区级别)
Model-Free Control