Rails:尝试将Id从控制器传递到视图

时间:2013-07-16 13:58:12

标签: ruby ruby-on-rails-3

我是红宝石中的小菜鸟。

我想传递我刚创建的对象的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}" %>

但没有任何事情发生..如何制作,以及如何在视图上打印?

2 个答案:

答案 0 :(得分:3)

从控制器到视图时,

@instance_variables仍然存在。所以你可以这样做:

<%= link_to 'Here' ,"/controller/#{@object.id}" %>

答案 1 :(得分:2)

正如nicooga所说,所有实例变量(您在控制器上使用@定义的变量)都可以在您的视图中使用,因此他的代码将起作用。但是,在Rails中,甚至有一种更简单的方法:路径和URL助手:

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

所以你的代码看起来像是:

<%= link_to 'Here' ,object_path(@object) %>