>假设我的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或其他东西,你也可以这样做,尽管要复杂一些。