首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails -带自定义路由的link_to

Rails -带自定义路由的link_to
EN

Stack Overflow用户
提问于 2012-11-14 11:38:00
回答 1查看 6.9K关注 0票数 6

我是Rails的新手,所以请耐心等待。

我想在我的食堂模型上实现"like“,所以我在食堂资源中创建了一个自定义路由

代码语言:javascript
复制
resources :canteens do
  resources :meals
  resources :comments
  match "/like", :to => "canteens#like", :as => "like"
end

并因此在canteens控制器中创建了此操作,其中我只增加了一个计数器

代码语言:javascript
复制
def like    
  canteen = Canteen.find(params[:canteen_id])
  Canteen.increment_counter("likes_count", canteen.id)
  redirect_to canteen
end

因此,手动输入URL localhost:3000/canteens/1/like就可以了,但是显然我想创建一个按钮,所以我做了一个

代码语言:javascript
复制
<h2>Likes count</h2>
<p><%= @canteen.likes_count %> likes</p>
<p><%= link_to "Like this canteen", canteen_like_path %></p>

但它不起作用。我检查了rake路径,它就在那里(canteen_like)。我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-14 11:48:05

您必须将Canteen对象传递给path。如果你不这样做,Rails就不知道你指的是哪个食堂:

代码语言:javascript
复制
<%= link_to "Like this canteen", canteen_like_path(@canteen) %>
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13372658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档