1

我是红宝石的小菜鸟..

我想传递我刚刚创建的对象的 id 以查看它将通过渲染方法进行渲染

这是我下面的代码

respond_to do |format|
  if @object.save
    format.html { render "finished_reg",param: @object.id ,notice: 'object was successfully created.' }

  #end

在视图中

<%= link_to 'Here' ,"/controller/#{:param}" %>

但什么也没发生..如何做到这一点,我如何在视图上打印它?

4

2 回答 2

3

@instance_variables从控制器到视图时持续存在。所以你可以简单地做:

<%= link_to 'Here' ,"/controller/#{@object.id}" %>
于 2013-07-16T14:00:39.277 回答
2

正如 nicooga 所说,所有实例变量(您在控制器上使用 @ 定义的变量)都可以在您的视图中使用,因此他的代码将起作用。然而,在 Rails 中,还有一种更简单的方法:path 和 url helpers:

http://guides.rubyonrails.org/routing.html#path-and-url-helpers

所以你的代码看起来像:

<%= link_to 'Here' ,object_path(@object) %>
于 2013-07-16T14:07:04.757 回答