Ruby rails - 使用get参数重定向到不同的视图

时间:2012-04-17 03:39:50

标签: ruby ruby-on-rails-3

我有一个“创建”功能,它将重定向到一个名为“view”的新视图。 “view”使用get方法,所以我需要在url中提供参数。

“创建”创建新项目123,并使用网址/view?id=123重定向/呈现“视图” 我还希望在重定向到此视图时传递一些其他参数/view?id=123&note=duplicate

我该怎么做?

  def create   
    @i = Book.createNewItem(params[:name])
    if @i[:error] == ""
      render action: 'view',
    else
      redirect_to book_home_path
    end
  end

  def view
    Book.getItem(params[:id]) #some backend update stuff
    @i = Book.find_by_book_num(params[:id])
    return @i
  end

3 个答案:

答案 0 :(得分:1)

您可以使用

    render :action=>'view', :id=>123, :note=>"duplicate"

这会自动生成' get' url查看动作,如下所示:

    "/view?id=123&note=duplicate"

答案 1 :(得分:0)

您可以在散列中传递其他参数,传递给url helper,如下所示:

redirect_to book_view_path(id: @i.id, note: 'duplicate')

redirect_to action: "view", id: 5, note: 'duplicate'

答案 2 :(得分:0)

您可以将其用作简单的

 redirect_to "/view?id="+@i+"&note=duplicate"

试试吧......