【发布时间】:2013-05-04 02:40:27
【问题描述】:
我有一个通过控制器的索引操作呈现的页面。我想添加一个指向此页面的链接,这将重新加载当前页面,但我希望它首先路由到不同的操作。
这是我的 routes.rb 文件的样子:
match 'users/:id/food' => 'foods#index', :as => :foods_show
match 'users/:id/food' => 'foods#sell', :as => :food_sell
还有我的链接地址:
<%= link_to "Sell this Food", food_sell_path(current_user.id) %>
所以页面通常是通过 food#index 呈现的,但是当用户点击此链接时,我想重新加载当前页面,但通过与 index 不同的操作。
控制器代码:
def index
@user = User.find(params[:id])
@food = @user.foods
end
def sell
@user = User.find(params[:id])
@food = @user.foods
redirect_to foods_show_path(@user.id), :notice => "You have sold one item!"
end
谢谢!
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3