0

假设我的 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模板丢失错误。如何确保在辅助方法完成后简单地重新加载用户显示页面。

4

1 回答 1

0

您似乎正在尝试重定向到显示页面。尝试这个:

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

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

render :partial => 'show'

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

于 2012-05-02T16:09:49.493 回答