ruby-on-rails - Rails 5:如何在不更改 URL 的情况下在控制器中呈现视图?
问题描述
我有以下路线:
Shop::Engine.routes.draw do
root to: 'static_pages#index'
get 'jobs/apply'=>'applicants#new'
resources :applicants, only: [:create]
end
这按预期工作。url 呈现预期的视图。
该页面包含一个表单。当用户提交成功时,我想用成功消息替换表单。考虑到这一点,我创建了一个新模板:
# success.html.erb
<h1>Thank you</h1>
<p>Your application has been submitted.</p>
我的创建操作如下所示:
def create
@applicant = Applicant.new(safe_params)
if @applicant.save
render 'success'
else
render 'new'
end
end
它按预期工作,除了地址栏中的 URL 更改为:http://localhost:3000/applicants
。我希望它保留:http://localhost:3000/jobs/apply
.
如何在不更改 url 的情况下呈现成功消息视图?我是否走对了路?是否有另一种呈现成功消息而不重定向到另一条路线的方法?
解决方案
推荐阅读
- python - virtualenv 和 Pycharm:文件夹和包:它是如何工作的?
- mysql - 根据时差更新mysql表中的变量
- go - 错误 reflect.ValueOf(val).IsZero 未定义(类型 reflect.Value 没有字段或方法 IsZero
- python - 使用 cython 从 C++ 构造函数传播异常
- c# - 在主布局 ASP.NET Core 中单击模型渲染局部视图
- loops - 带有单个 MARIE 子程序的 JnS 给出无限循环
- python - VsCode 中的“C:\Users\AccountName\AppData\Local\Programs\Python\Python38-32\python.exe”错误中没有 python
- .net-core - Net Core MVC 将 URL 路由参数更改为 # 片段
- node.js - 如何在nodejs中一个接一个地发送请求
- three.js - Three.js FirstPersonControls 相机旋转在 GSAP 补间/重启控件后跳回