2015-10-16 56 views
1

我正在嘗試在json請求中獲取一個json請求,我想要一個頭像網址。在這裏,我所做的迄今爲止,我遵循邁克爾哈特教程在這裏我有用戶和飼料模型,我用回形針的頭像。問題是我想獲得current_user飼料到json我得到,我怎麼能添加用戶頭像url到每個飼料json請求。這是我迄今爲止所做的。Rails如何在Feed中添加頭像網址在json中

在我的飼料控制器我有下面這段代碼在指數:

def index 

    @feed_items = current_user.feed.paginate(page: params[:page], :per_page => 10) 
    @feed1 = current_user.feed.where('id > ?' , params[:id]) 
    #@s = Relationship.where('followed_id = ?', current_user.followed_id) 


    @comment = current_user.comments.new 
    respond_to do |format| 
     format.json { render :json => @feed_items.to_json(:methods => [:avatar_url])} 

    end 

有沒有我可以在JSON請求添加頭像URL這是我的JSON請求沒有簡單的方法:

{ 
    "id": 306, 
    "content": "ghghgh", 
    "user_id": 1, 
    "created_at": "2015-10-16T14:16:48.000Z", 
    "updated_at": "2015-10-16T15:55:08.000Z", 
    "like_count": 0 
    }, 

這裏如何爲每個feed json請求添加avatar_url if user_id:1我需要將url添加到這個json輸出中。

回答

1

問題該解決方案是非常簡單的,你需要添加包括內部to.json的referene看看這個帖子https://blog.codepath.com/2011/05/16/if-youre-using-to_json-youre-doing-it-wrong/

您需要在您的索引操作添加以下代碼:

respond_to do |format| 
     format.json { render :json => @feed_items.to_json(:include =>[:user => { :only => [:id],:methods => [:avatar_url]}])} 

    end 

和用戶模型添加以下代碼:

def avatar_url 
    avatar.url(:thumb) 
    end 

,你會得到的avatart網址