[英]Updating Div in Rails without changing view after an update request
我是新手。 我正在使用form_for更新'collab'數據庫條目。 我已經修改了更新功能,以創建一個名為“ @interpreted_code”的新實例變量,並將其分配給一個字符串。 在更新功能中創建/更改此變量后,我希望視圖在不重新加載的情況下顯示它。 這是我的觀點,collab.html.erb
<%= form_for @collab, :remote=>true do |f| %>
<p>
Enter Ruby Code<br>
<%= f.text_area :text %>
</p>
<p>
<%= f.submit %>
</p>
<% end %>
<div id='interpreted' >
<%= @interpreted_code.inspect %> #this doesn't work
</div>
這是我controller.rb中的更新功能
def update
@collab = Collab.find(params[:id])
if @collab.update(collab_params)
File.open('rubyfile.rb', 'w') { |file| file.write(@collab.text) }
@interpreted_code = "BLAH BLAH (change later)"
end
render :nothing =>true
end
嘗試這個-
首先創建一個這樣的_interpreted_code.html.erb部分
<%= @interpreted_code.inspect %>
現在就這樣更改您的視圖-
<%= form_for @collab, :remote=>true do |f| %>
<p>
Enter Ruby Code<br>
<%= f.text_area :text %>
</p>
<p>
<%= f.submit %>
</p>
<% end %>
<div id='interpreted' >
<%= render partial: "interpreted_code" %>
</div>
創建文件update.js.erb
$("#interpreted").html("<%= raw escape_javascript(render(:partial => 'interpreted_code')) %>")
像這樣更改您的控制器-
def update
@collab = Collab.find(params[:id])
if @collab.update(collab_params)
File.open('rubyfile.rb', 'w') { |file| file.write(@collab.text) }
@interpreted_code = "BLAH BLAH (change later)"
end
respond_to do |format|
format.js
end
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.