在Rails中更新Div,而不更改更新请求后的视图
Updating Div in Rails without changing view after an update request
我是rails的新手。我正在使用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>
这是我的控制器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
相关文章:
- 在Rails中更新Div,而不更改更新请求后的视图
- 如何在执行 Ajax 请求大量数据库更新时实现进度条
- 使用rails中的ajax请求更新DB
- 如何在alt.js中使用源成功请求后更新状态
- 所选列表元素不会保持选中状态(通过ajax请求更新后)
- RxJS异步请求更新
- 多久向服务器发送一次Http请求以检查更新?(Ajax)
- RxJS:在每次返回并行http请求时更新客户端
- 如何使用每个ajax请求更新实例变量
- Angular没有't在http请求后更新我的对象
- 轮询更新主干模型/视图的请求
- Angular 在 http 请求后不更新页面(范围问题?
- 在每个请求 nodejs 中获取更新的文件
- 如何注册要在更新面板请求完成时运行的函数
- AngularJS:在成功的HTTP请求后更新指令范围
- MongoDB:可以合并两个更新请求
- 创建更新请求对象的Express参数中间件
- Rails仅对一个更新请求进行多次更新
- 如何向twitter API发送POST更新请求
- 在KendoUI数据源中获取更新请求的字符串