2017-04-26 46 views
1

我正試圖在一個視圖上顯示2個操作。Ruby on Rails:在同一視圖上執行2個操作

的routes.rb

resources :users do 
get "accepted", to: "users#accepted" 

users_controller.rb

def show 
@user = User.find(params[:id]) 
@requests = @user.requests 
end 

def accepted 
@user = User.find(params[:id]) 
@requests = Request.where(:driverid => @user.id).order("created_at DESC") 
end 

我想指出這兩個動作給用戶瀏覽網頁。

我一直在玩弄偏見,看着類似的問題,但無法弄清楚。任何幫助表示讚賞!

編輯

show.html.haml

我想下面是show動作:

%h2 Current requests: 
- @user.requests.where(:accepted => 'f').each do |request| 
    etc 

然後接受動作:

- @requests.where(blah blah).each do |request| 
    etc 

回答

1

Rails documentation

def accepted 
    @user = User.find(params[:id]) 
    @requests = Request.where(:driverid => @user.id).order("created_at DESC") 
    render :show 
end 

編輯:

在控制器show動作:

@requests = @user.requests.where(:accepted => 'f') 

而且在放映視圖:

%h2 Current requests: 
- @requests.each do |request| 
    # ... 
+0

感謝您的幫助。那麼我將如何在視圖頁面中顯示2組數據?我更新了這個問題來解釋我的意思。 – BigL

+0

我已經更新了我的答案。希望這是你所需要的,但如果要求實際上更復雜,那麼我建議你回去重新寫下你的問題,以更全面地解釋整個情況。 –