js.erb文件获胜't控制器中响应后的负载
js.erb file won't load after respond_to in controller
我的视图中需要两个按钮,但只有一个应该使用remote,所以我决定以以下方式使用链接和提交按钮:
视图
<%= form_for(@new_word , :url => {:action => "create"}) do |f| %>
... skipped code ...
<%= link_to("build word", '#', :class => "build", "data-button" => "build") %>
... skipped code ...
<div id="build_name"></div>
<%= submit_tag l(:btn_save), :name => 'btn_save' %>
<% end %>
<script type="text/javascript">
jQuery(".build").click(function(){
var form_value = jQuery('#new_nc_project').serialize();
var button = $(this).data("button");
var content = $('#nc_project_keyword_tokens').val();
if(button == "build"){
$.ajax({
type:'POST',
url: '<%= url_for :action => 'build' %>',
data: $.param({keyword_tokens: content})
});
}
});
</script>
控制器
def build
@response = {resp: "text"} //just example text for testing
respond_to do |format|
format.json { render json: @response }
format.js { render js: @response }
end
结束
build.js.erb
$('#build_name').append('<p><%= @response[:resp] %></p>');
如果我查看我的服务器控制台,我看不到"build.js.erb"文件中的任何列表。
我做错了什么,有没有其他方法可以让"@response"在视图中可见?
谢谢,点
要渲染build.js.erb
,您应该执行此
respond_to do |format|
format.json { render json: @response }
format.js # this will render build.js.erb by default.
end
相关文章:
- Ember.js:将Em.$.getJSON转换为promise并将响应绑定到控制器上下文的正确方法
- RubyonRails环境控制器操作JavaScript响应
- 从 Zend 控制器传递值并在 JS 响应中获取它
- 如何在symfony2控制器中发送JSON响应
- 将响应标头从ngResource传递到控制器
- 从代码点火器控制器发送电子邮件后,无法在 jquery 中获取响应
- 在 Rails 中,我可以在 JS 响应后在控制器操作中执行 ActionMailer 逻辑吗?
- 哪个“控制器”在 JSON 中转换来自 .NET Web 服务的 XML 响应
- CodeIgniter - 如何从控制器返回 Json 响应
- 如何让角度控制器响应变量的值更改事件
- 无法读取角度.js控制器中的 json 响应属性
- 响应式模板的“棱角分明”方式?匹配媒体是否进入“控制器”
- 角度 JS 控制器没有响应
- 如何在jquery文件ulpload成功后从c#MVC控制器获得响应
- 如何向asp.net MVC 4控制器发送ajax请求以请求XML响应
- js.erb文件获胜't控制器中响应后的负载
- 来自form_for的控制器中的Ajax javascript响应以纯文本形式呈现
- Rails动态窗体远程真实控制器没有响应
- c# Ajax不能从控制器响应中获取数据
- 关于触发View's $(document)的问题.Spring MVC中控制器响应的ready处理程序