假设我的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
模板丢失错误。如何在辅助方法完成时确保简单地重新加载用户显示页面。
答案 0 :(得分:0)
看起来您正在尝试重定向到显示页面。试试这个:
redirect_to user_path(@user) # Note you need to send the show page an :id param
如果您只想渲染特定的部分,请执行以下操作:
render :partial => 'show'
然而,如果你想要更加无缝的东西,比如提交表格VIA Ajax,它会获得部分然后成功将其转储到等待的DIV或其他东西,你也可以这样做,尽管还有更多复杂性。