2017-05-05 94 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

相關問題