urS*_*Sus 5 routes ruby-on-rails link-to
我是Rails的新手所以请耐心等待.
我想在我的食堂模型上实现"喜欢",所以我在我的食堂资源中创建了一个自定义路线
resources :canteens do
resources :meals
resources :comments
match "/like", :to => "canteens#like", :as => "like"
end
Run Code Online (Sandbox Code Playgroud)
因此在canteens控制器中创建了这个动作,我只是增加一个计数器
def like
canteen = Canteen.find(params[:canteen_id])
Canteen.increment_counter("likes_count", canteen.id)
redirect_to canteen
end
Run Code Online (Sandbox Code Playgroud)
所以,手动输入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>
Run Code Online (Sandbox Code Playgroud)
它不起作用.我检查了耙路线,它就在那里(canteen_like).我究竟做错了什么?
Mis*_*cha 10
您必须将Canteen对象传递给路径.如果你不这样做,Rails不知道你的意思是哪个食堂:
<%= link_to "Like this canteen", canteen_like_path(@canteen) %>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6019 次 |
| 最近记录: |