在轨道中自动生成路线

时间:2015-05-09 21:25:08

标签: ruby-on-rails ruby-on-rails-4 rails-activerecord rails-routing

大家好我希望以下列形式生成网址:

/admin/charity_upgrade_review/:id 

其中:id是我点击的CHARITY对象的ID,并提供给ADMIN控制器[url =(/admin/charity_upgrades)]

在我看来(在点击链接给我想要的网址之前,由admin#charity_upgrades提供)我有

  <% @charities.each do |charity| %>
    <%=link_to charity.name, admin_charity_upgrade_review_path(charity) %>
  <% end %>

我的路线如下

   get 'admin/charity_upgrades'
   get 'admin/charity_upgrade_review'
  resources :charities

当我点击link_to生成的链接时,我得到的网址是

/admin/charity_upgrade_review.:id

如何用/?

替换此点

一切顺利 d

3 个答案:

答案 0 :(得分:2)

尝试将:id添加到最后,告诉路由指向哪个控制器/操作:

get 'admin/charity_upgrades/:id', to: 'admin#charity_upgrades', as: "admin_charity_upgrades"
get 'admin/charity_upgrade_review/:id', to: 'admin#charity_upgrade_review', as: "admin_charity_upgrade_review"

创建了两个路由到管理控制器。

答案 1 :(得分:0)

试试这个。帮助你。将对象ID与链接一起传递,在路径侧,相应地进行更改。

<% @charities.each do |charity| %>
    <%=link_to charity.name, "/admin/charity_upgrade_review/#{@charities.id}" %>
  <% end %>

在routes.rb方面:

get 'admin/charity_upgrade_review/:id'       controller_name#action_name

答案 2 :(得分:0)

似乎需要添加

get 'admin/charity_upgrade_review/:id', to: 'admin#charity_upgrade_review', as: "admin_charity_upgrade_review"

到routes.rb,从那里一切正常。

相关问题