Rails请求格式化为JS,需要请求寻找常规Rails模板
Rails Request Formatting as JS, Need Request to Look for Regular Rails Template
我试图在rails部分通过使用javascript的#new
动作呈现一个引导模态(语法是苗条的模板,只是更干净的动词)。
= link_to 'ADD NEW', new_hiring_site_path, {:style=>'color:#FFFFFF;', data: { toggle: "modal", target: "#hiring_site_modal"}}
这是#new
动作呈现的部分:
#hiring_site_modal.modal.fade tabindex="-1" role="dialog" data-backdrop="static" data-keyboard="false"
.modal-dialog
.modal-content
.modal-header
#hiring_site_modal_header.h4.modal-title
.modal-body.address-section
.form-group.hidden
input type="hidden" id="hiring_site_id" name="hiring_site_id" value='0'
.form-group
label for='hiring_site_address_line_1' Address Line 1
input.form-control.input-lg.address_line_1.required.input-length-long type="text" id='hiring_site_address_line_1' name='hiring_site_address_line_1'
...
这是我的控制器动作:
def new
@site = HiringSite.new({})
respond_to do |f|
f.html
end
end
现在,当我提交像这样的请求时,我得到的响应是:
[Request Summary] {:method=>"GET", :path=>"/hiring_sites", :format=>:html, :controller=>"HiringSitesController", :action=>"index", :status=>200, :duration=>2083.21, :view=>1979.28, :db=>2.84, :application=>"enrollment-rails-app", :rails_env=>"development"
当我在链接帮助器中将路由格式改为html时:
= link_to 'ADD NEW', new_hiring_site_path(format: 'html'), {:style=>'color:#FFFFFF;', data: { toggle: "modal", target: "#hiring_site_modal"}}
客户端最终寻找一个新的。html文件。你知道我是如何让它生成渲染模板的默认控制器响应的吗?
或者我应该继续打高尔夫。
根据rails惯例,当您调用控制器动作时,rails将通过自动尝试render
具有相同名称的视图模板(位于与控制器同名的视图文件夹中)来结束它。在您的示例中,调用#new
控制器动作会导致rails尝试render
new.html
视图模板。
如果你想让你的控制器动作render
一个不同的视图模板,用render "template_name"
函数这样做。如果你想让你的控制器动作呈现部分视图模板,使用render partial: "partial_name"
函数。
在您的示例中,您希望#new
动作呈现特定的部分,因此您将希望以render partial: "partial_name"
#new
动作。(只是为了清楚-因为你问如何让Rails呈现模板:new.html
是一个视图模板)
关于使用Rails的render
函数的更多信息可以在"Rails中的布局和渲染"Rails指南中找到:http://guides.rubyonrails.org/layouts_and_rendering.html#using-render
相关文章:
- 在Rails中更新Div,而不更改更新请求后的视图
- 如果不刷新Rails中的浏览器,AJAX请求就无法看到效果
- Rails-HTTParty通过AJAX请求
- 在 Rails 中处理 ajax 请求
- 使用rails中的ajax请求更新DB
- 使用Angular/Rails发送带有params的http请求
- 使用Ajax请求rails控制器数据
- 如何执行Ajax GET请求以从rails获取数据并将其传递给javascript(谷歌地图)
- Rails控制器操作可以同时处理html和javascript请求吗
- Ruby On Rails:send_file通过jquery/ajax请求
- Ajax 请求在 Ruby on rails 中不起作用
- Rails 4:形成远程自定义 ajax 请求
- 如何在 AJAX 请求 (Rails) 之间保留表单输入数据
- 客户端通过JS请求JSON并填充Rails视图
- 开发模式下 Rails 3.2 的请求处理顺序
- 为什么我的 rails AJAX 请求会抛出内部服务器错误
- Ajax 触发两次替换 Rails 4 中的最后一个请求内容
- Rails:在一个请求中渲染 html 和 js
- Rails请求格式化为JS,需要请求寻找常规Rails模板
- ruby on rails-请求javascript规范失败,设计身份验证