当前位置:网站首页>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.newOn 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 :newendThis 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
/booksRather than instead of
/books/newWhich 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_pathBut 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边栏推荐
- [C language] dynamic address book
- Attention SLAM:一种从人类注意中学习的视觉单目SLAM
- 【软件逆向-求解flag】内存获取、逆变换操作、线性变换、约束求解
- View remote test data and records anytime, anywhere -- ipehub2 and ipemotion app
- 【批处理DOS-CMD命令-汇总和小结】-字符串搜索、查找、筛选命令(find、findstr),Find和findstr的区别和辨析
- 深度学习之线性代数
- 代码克隆的优缺点
- 5种不同的代码相似性检测,以及代码相似性检测的发展趋势
- Activereportsjs 3.1 Chinese version | | | activereportsjs 3.1 English version
- Article management system based on SSM framework
猜你喜欢

Chapter II proxy and cookies of urllib Library

windows安装mysql8(5分钟)

《安富莱嵌入式周报》第272期:2022.06.27--2022.07.03

第四篇,STM32中断控制编程

Lombok 同时使⽤ @Data 和 @Builder 的坑,你中招没?

ActiveReportsJS 3.1中文版|||ActiveReportsJS 3.1英文版

城联优品入股浩柏国际进军国际资本市场,已完成第一步

集合(泛型 & List & Set & 自定义排序)

【软件逆向-求解flag】内存获取、逆变换操作、线性变换、约束求解

pyflink的安装和测试
随机推荐
Meet the level 3 requirements of ISO 2.0 with the level B construction standard of computer room | hybrid cloud infrastructure
mongodb客户端操作(MongoRepository)
Mujoco second order simple pendulum modeling and control
Data sharing of the 835 postgraduate entrance examination of software engineering in Hainan University in 23
Web project com mysql. cj. jdbc. Driver and com mysql. jdbc. Driver differences
Advanced learning of MySQL -- Fundamentals -- four characteristics of transactions
.class文件的字节码结构
Policy Gradient Methods
【批处理DOS-CMD命令-汇总和小结】-字符串搜索、查找、筛选命令(find、findstr),Find和findstr的区别和辨析
新手如何入门学习PostgreSQL?
tensorflow 1.14指定gpu运行设置
stm32F407-------DAC数模转换
Advanced learning of MySQL -- Fundamentals -- concurrency of transactions
Mujoco produces analog video
做微服务研发工程师的一年来的总结
Learn to use code to generate beautiful interface documents!!!
dynamic programming
Matlab learning notes
Dell筆記本周期性閃屏故障
什么是时间