如何在rails中将变量指定为路由参数?

时间:2015-09-24 13:44:18

标签: ruby-on-rails

我有一个包含多个链接的静态页面。这些链接路由到我的帖子控制器中的pro_show操作。

 def pro_show
   @posts = Post.where(:code => @code)
 end

我想通过我的路由传递代码的值。 :code是一个字符串。
现在我的路线看起来像下面的路线。如何为@code分配字符串值?我不需要更改任何帖子的代码。我需要使用@code变量对我的帖子记录进行排序,就像我在行动中看到的那样。

这就是我现在正在做的事情=>

<td><%= link_to "This Post", pro_show_path(@code => 87889) %></td>

我这样做是否正确? @code的值是否需要引号?感谢

1 个答案:

答案 0 :(得分:1)

以下应该有效

<td><%= link_to "This Post", pro_show_path(:code => 87889) %></td>

在控制器中

def pro_show
  @posts = Post.where(:code => params[:code])
end