0
def create
  @purchase = Purchase.new(params[:purchase])

  if session[:purchase_id] != @purchase.save
    redirect_to(@purchase, :notice => "Thank you. You good lookin person you.")
  end
end

我正在尝试

A - 重定向到 URL 或其他控制器路径,或

B - 刷新他们从(new_purchases_path)订购的表格并闪烁:通知用户他们的购买成功。当我尝试添加一个 Url(那将是一个感谢消息页面)时,我得到了语法错误。此代码将用户重定向到索引列表(他们无法访问)

如果我取出def create,它默认会闪烁一个通知并向他们显示他们完成的表格。我正在使用 simple_form,但我不确定如何覆盖这些默认值。关于至少重定向到 url 的任何建议?

4

2 回答 2

4

例子:

A - 重定向到 URL 或其他控制器路径

  redirect_to :action => "show", :id => 5
  redirect_to "http://www.rubyonrails.org"
  redirect_to  new_purchases_path
  redirect_to  purchases_url
  redirect_to :back

B - 刷新他们订购的表格(new_purchases_path)

  render :action => "new"

编辑:

这是一个带有闪存消息的一般示例:

if @foo.save
  redirect_to foos_path, :notice => "Foo saved"
else
  flash[:notice] = "Some errors occured"
  render :action => "new"
end
于 2013-01-09T15:02:15.693 回答
1

这是我今天制作的创建方法的示例

def create
 @book = Book.new(params[:book])
 if @book.save
  redirect_to searchbook_path, notice: 'Book was successfully saved'
 else
render :action => 'results'
end

结尾

所以在你的情况下你可以试试这个

def create
@purchase = Purchase.new(params[:purchase])
if @purchase.save
 redirect_to purchase_path, :notice 'Thanks for your purchase'
else
render :action => 'new'
end
end

这是假设你有一个购买和新的路径......虽然如果你能让我们知道你遇到了什么错误会有所帮助

于 2013-01-09T15:01:37.503 回答