在Rails中的视图之间传递参数

时间:2012-07-19 01:24:51

标签: ruby-on-rails

我正在努力完成这样的事情:

我正在创建一个简单的博客。我为我的博客设置了类别。 我希望当我的用户访问帖子/索引时,他会看到所有类别的列表。

实施例: 文本 图像

点击某个类别后,我的用户会被重定向到帖子/新页面,其中category_id字段将通过hidden_​​field传输。

所以我现在的代码是:

帖子/索引

中的

<% @categories.each do |c| %> 
  <%= link_to c.name, new_post_path(:category => c.id) %><br />
<% end %>

在我的帖子中/ _form我正在尝试做这样的事情

<%= f.hidden_field :category_id, :value => params[:category_id] %>

虽然不起作用,因为html输出是

没有传递任何价值。

在这里进行的正确方法是什么? THX!

2 个答案:

答案 0 :(得分:1)

乍一看,混淆参数名称类别和category_id似乎是一个简单的错误。

试试这个:

<% @categories.each do |c| %> 
  <%= link_to c.name, new_post_path(:category_id => c.id) %><br />
<% end %>

答案 1 :(得分:1)

此外,根据我在您的代码中可以理解的内容,似乎帖子属于某个类别。在这种情况下,您可以将路径从一个嵌套到另一个,并且可以访问用于创建嵌套对象的路径,例如new_category_post(@category)。

路由看起来像这样:

resources :categories do
  resources :posts
end

您可以在此处阅读此事:http://guides.rubyonrails.org/routing.html