渲染不同的动作,第二个动作需要更多的参数

时间:2011-11-28 08:27:48

标签: ruby-on-rails

我需要实现以下目标:

  def some_function
    redirect_to :action=> show ,:id=>current_user.id
  end

  // this will throw an error that id is nil
  def show
    @user=User.find(params[:id])
  end

感谢您的帮助!

2 个答案:

答案 0 :(得分:4)

您应该重定向到网址,而不是动作。做这样的事情:

redirect_to user_url(current_user.id)

答案 1 :(得分:1)

更改路由定义

match 'show/:id' => 'Controller#Action'

然后使用这样的代码:

def some_function
  redirect_to "/show/#{@user.id}"
end