在Rails/Javascript中渲染简单的表单部分
Render simple form partial in Rails/Javascript
我想在javascript erb文件中渲染我的表单部分。当我把它放进去的时候它会给我一个no method错误。什么好主意吗?
script.js.erb
$(document).ready(function() {
$(".enquiry-button").click(function(e) {
e.preventDefault();
e.stopPropagation();
if ($(this).parents('.cell').find('form').length == 0) {
$(this).closest('.cell').append(
"<div class='enquiry-form'>" +
"<%= escape_javascript( render '/static/form' ) %>" +
"</div>");
$(this).closest('.cell').find(".enquiry-form:last").slideDown("slow");
} else {
$(this).closest('.cell').find(".enquiry-form:last").slideToggle("fast");
}
});
});
_form.html.erb
<%= simple_form_for @user do |f| %>
<%= f.error_messages %>
<%= f.input :email %>
<%= f.button :submit %>
<% end %>
误差NoMethodError in Static#home
Showing /Users/colton/kitchen_ninja/kitchen_ninja/app/views/layouts/application.html.erb where line #6 raised:
undefined method `render' for #<#<Class:0x007f90cc875c80>:0x007f90cd2017e0>
(in /Users/colton/kitchen_ninja/kitchen_ninja/app/assets/javascripts/script.js.erb)
Extracted source (around line #6):
你把两种不同的东西混在一起了。您的render
需要在服务器上运行。JavaScript的工作只是发出一个AJAX请求并获取一个资源。
那么,假设你要这样做:
$.ajax(url: "/test").done(function(html) {
$("#results").append(html);
});
AJAX的唯一作用是获取远程资源并解析结果。
在Ruby中,您可以使用render
发出HTML:
<%= escape_javascript( render '/static/form' ) %>
只要确保将AJAX请求指向正确的资源,这样Ruby就可以完成剩下的工作。
由于您正在使用.erb
预处理脚本,您可以使用Ruby的字符串插值在JavaScript文件中返回部分作为字符串文字。
html = "<div class='enquiry-form'>" +
"#{j render partial: 'static/form'}}" +
"</div>"
$(this).closest('.cell').append( html );
相关文章:
- html表单,它有文本和表,现在我想在一个简单的文本文件中保存和检索数据,如何实现它
- Node.js & Express 不能用简单的 Bootstrap 表单发布/错误
- 'Alajax' Jquery 简单表单提交.如果表单未经验证,如何防止提交
- 可以't处理jQueryajax提交的简单表单
- 使用html表单作为python脚本输入的简单解决方案
- 带有选择表单和文本字段的简单计算器
- 带有小Javascript代码的简单表单提交按钮 - 不起作用
- 如何使用虚拟键盘在 Opera Mobile 中为简单表单触发 onsubmit() 事件
- 通过AJAX在简单表单POST上收到500错误 - 不确定出了什么问题
- 如何使用简单表单和JS检查条纹事务的响应
- 简单表单验证所需的Javascript帮助
- 用jquery在按钮点击上添加文本到简单表单
- ExtJS:简单表单忽略formBind
- 无法在ReactJS上显示用户输入和密码的简单表单
- 不调用javascript函数(JQuery)的简单表单提交
- Javascript简单表单验证不起作用
- 简单表单上的AJAX验证
- 提交后隐藏的简单表单
- 简单表单- Rails 4 -编辑
- Jquery ajax简单表单不工作