从另一个控制器重新加载导轨视图



>假设我的rails应用程序中有以下视图

<% if is_subscriber? %>
<%= render :partial => 'subscriber_page' %>
<% else %>
<%= render :partial => 'payment_form' %>
<% end %>

付款表单将后任务提交到控制器显示页面。在我的路由文件中,我有:

  match ':users(/:id)', :to => 'users#submit_payment', :via => :post

我的提交付款助手方法是:

def submit_payment
    current_user.is_subscriber = true
    show
end

但是,当我运行它时,我收到一个submit_payment模板缺失错误。如何确保在帮助程序方法完成后简单地重新加载用户显示页面。

看起来您正在尝试重定向到显示页面。试试这个:

redirect_to user_path(@user) # Note you need to send the show page an :id param

如果只想渲染特定的部分,请执行以下操作:

render :partial => 'show'

但是,如果你想要一些更无缝的东西,比如提交VIA Ajax表单,它得到一个部分,然后在成功时将其转储到等待的DIV或其他东西,你也可以这样做,尽管要复杂一些。

最新更新