【问题标题】:Rails - link_to with custom routeRails - 带有自定义路线的 link_to
【发布时间】:2012-11-02 14:02:44
【问题描述】:

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

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

resources :canteens do
  resources :meals
  resources :comments
  match "/like", :to => "canteens#like", :as => "like"
end

因此在食堂控制器中创建了这个动作,我只是增加一个计数器

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 就可以了,但显然我想创建一个按钮,所以我做了一个

<h2>Likes count</h2>
<p><%= @canteen.likes_count %> likes</p>
<p><%= link_to "Like this canteen", canteen_like_path %></p>

而且它不起作用。我检查了耙子路线,它就在那里(canteen_like)。 我做错了什么?

【问题讨论】:

  • 你能显示你的 rake 路由输出吗?

标签: ruby-on-rails routes link-to


【解决方案1】:

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

<%= link_to "Like this canteen", canteen_like_path(@canteen) %>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-17
    • 1970-01-01
    • 2017-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多