繁体   English   中英

使用render或redirect_to

[英]using render or redirect_to

我有一个表格

<%= form_tag update_path do %>
         <%= text_field_tag :test_input, @text %>
         <%= submit_tag "update" %>
<% end %>

#mycontroller
def update
    @text= 'abcde'
    render  :max_channel #redirect_to :max_channel
end

如果我使用render,它将更新我的text_field_tag,但会将我的网址更改为localhost:3000 / update。 redirect_to不更新我的文本,我也不知道为什么。 如何使用redirect_to更新text_field_tag

如果您使用redirect_to,那么您将需要在请求中传递参数,因为redirect_to会转到其他URL。 SO问题中提供了一些有关重定向和渲染的良好背景信息。redirect_to和render 是否可交换?

redirect_to将使浏览器请求一个新页面(这是您的max_channel),并且当前上下文将丢失。 这就是为什么您无法在max_channel页面中更新@textmax_channel

render将使用当前上下文来渲染max_channel页面。

您可以从http://guides.rubyonrails.org/layouts_and_rendering.html#using-redirect-to获得更多信息。

您可以将@text保存到某个地方(例如sqlite ),并以与max_channel相对应的方法进行max_channel

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM