2012-11-23 88 views
0

我想在我的應用程序中訪問我的一個編輯視圖作爲模態。我有我的Show.html在讀數這裏作爲模態訪問查看

<%- model_class = Reading -%> 
<div class="page-header"> 
<h1><%=t '.title', :default => model_class.model_name.human %></h1> 
</div> 

<dl class="dl-horizontal"> 
    <dt><strong><%= model_class.human_attribute_name(:customer_id) %>:</strong></dt> 
    <dd><%= @reading.customer_id %></dd> 
    <dt><strong><%= model_class.human_attribute_name(:date_of_reading) %>:</strong></dt> 
    <dd><%= @reading.date_of_reading %></dd> 
    <dt><strong><%= model_class.human_attribute_name(:reading1) %>:</strong></dt> 
    <dd><%= @reading.reading1 %></dd> 
    <dt><strong><%= model_class.human_attribute_name(:reading2) %>:</strong></dt> 
    <dd><%= @reading.reading2 %></dd> 
    <dt><strong><%= model_class.human_attribute_name(:reading3) %>:</strong></dt> 
    <dd><%= @reading.reading3 %></dd> 
</dl> 

<div class="form-actions"> 
    <%= link_to t('.back', :default => t("helpers.links.back")), 
      customer_readings_path, :class => 'btn' %> 
    <%= link_to t('.edit', :default => t("helpers.links.edit")), 
      edit_customer_reading_path(@reading.customer, @reading), :class => 'btn', :data => {:toggle => "modal", :target => "#editItemModal"} %> 
    <%= link_to t('.destroy', :default => t("helpers.links.destroy")), 
      customer_reading_path(@reading.customer), 
      :method => 'delete', 
      :data => { :confirm => t('.confirm', :default => t("helpers.links.confirm", :default => 'Are you sure?')) }, 
      :class => 'btn btn-danger' %> 
</div> 

顯示在我的編輯瀏覽,閱讀/編輯

<div id= "editItemModal" class="modal hide fade" tabindex="-1" role="dialog"> 
<button type="button" class="close" data-dismiss="modal">x</button></h1> 
<div class = "page-header"> 
<h1> Editing Readings </h1> 
</div> 

<%= render 'form_reading'%> 
</div> 

然而,在點擊我的節目編輯,編輯視圖不顯示爲一個模式,它只是顯示一個空白頁面。我可以錯過什麼?

+0

在服務器日誌中,編輯動作實際上是否被調用,然後完成沒有任何錯誤? – Dipil

回答

0

1)首先,您需要通過添加:remote => true來加速編輯鏈接。

2)這個div必須展示頁面上。(只有DIV,而不是它裏面的內容。)

<div id= "editItemModal" class="modal hide fade" tabindex="-1" role="dialog"> 

</div> 

3)作出edit.html.erb部分由更名爲_edit.html.erb

4)顯示頁

$('#link_id').on('ajax:success', function(e, data){ 
    $('#editItemModal').html(data); 
}); 

5)添加這段JavaScript代碼在你的控制器編輯動作寫這個render 'edit', :layout => false

此代碼中可能存在一些拼寫錯誤或小錯誤。但我已經使用過很多次了。所以我建議你試試這個。

+0

嘿,哥們兒,答案奏效了嗎? –