2013-02-27 7 views
0
def show 
    email = UserEmail.find_by_key(UserEmail.key_for(UserEmail.new(:publisher_id => @publisher.name, :app_id => @app ? @app.name : 'none', :external_uid => @user.external_uid))) 
    respond_to do |format| 
     format.xml { render :xml => @user.to_xml(:session => false, :authorized => user_logged_in? || publisher_logged_in? || app_logged_in?, :publisher => @publisher, :email => email || false) } 
     format.json { render :json => @user.to_json(:session => false, :authorized => user_logged_in? || publisher_logged_in? || app_logged_in?, :publisher => @publisher, :email => email || false) } 
    end 
    end 

Вот мой код, и я специально искал, чтобы понять, что следующий делает:Какие параметры делает to_json в Rails?

format.json { render :json => @user.to_json(:session => false, :authorized => user_logged_in? || publisher_logged_in? || app_logged_in?, :publisher => @publisher, :email => email || false) } 
+0

Есть ли у вашей модели пользователя метод as_json, который вы можете отправить? В большинстве случаев, когда вы передаете параметры, подобные приведенным выше, к методу to_json, у вас будет метод as_json в вашей модели, который будет определять, что с ними делать. –

ответ

0

Единственные параметры to_json понимает являются :only, :except, :methods и :include (проверьте документы here).

Если ваш to_json использует другие параметры, это потому, что он (или метод as_json) был переопределен в вашей модели.

+0

Я не вижу 'to_json' в' User'-контроллере или 'as_json' – Shamoon

+0

@Shamoon Что-то изменит, если вы удалите параметры' to_json'? – alestanis

+0

Вид боится испытать. Это живая система, и нет необходимости настраивать среду dev – Shamoon

Смежные вопросы