2017-05-05 95 views
0

我试图在条件为真时呈现js.erb文件中的表单。 以下是我create.js.erb文件部分表单在控制台中呈现,但未出现在浏览器中

<% if condition is true %>  
    $('#status-message').html("<%= escape_javascript(render 'form') %>") 
<%else%> 
    #do something else 
<%end%> 

控制器中create方法是:

控制器

def create 
    #code 
    respond_to do |format| 
    format.js # render app/views/phone_numbers/create.js.erb 
    end 
end 

现在,当我在它是控制台检查渲染form

Rendered phone_numbers/_form.html.erb (4.2ms) 
    Rendered phone_numbers/create.js.erb (8.8ms) 

添加_form.html.erb的要求

<%= puts "Hello world"%> 
<h3><%= Equipment.last.title %> </h3> 
<h3><%= Equipment.last.price %> </h3> 

但它没有出现在浏览器上。我错过了什么?

+0

你可以尝试在'form'中添加调试器并检查它是否被渲染 –

+0

可能是某些条件不允许渲染视图 –

+0

我用简单的'<%= puts“hello替换了表单渲染线“%>'这将显示在控制台中。 – user3576036

回答

1

聊天解决这 - 问题是,#status-message因素是经CSS隐藏(与display: none;)一#status-box元素里面,这样的修复是简单地添加到$('#status-box').show()create.js.erb

相关问题