0

由于我目前无法根据Rails3 ActionView Template Handlers 使用 json 模板引擎(jbuilder 或 rabl)在生产服务器上不起作用我想知道如何最好地更改此控制器操作以包含带有 as_json 的自定义节点(或者是其他东西)

class Mobile::AndroidUsersController < SecureMobileUserController
  skip_before_filter :authorize, :only => :create
  respond_to :json  

  # POST /mobile_users
  # POST /mobile_users.xml
  def create
    @mobile_user = AndroidUser.find_by_auth(params[:mobile_user][:auth])
    unless @mobile_user
      @mobile_user = AndroidUser.new(params[:mobile_user])
    else
      @mobile_user.attributes = params[:mobile_user]
    end
    respond_to do |format|
      if @mobile_user.save
        format.json #Add a custom token node here
      else
:unprocessable_entity }
        format.json { render json: @mobile_user.errors, status: :unprocessable_entity }
:unprocessable_entity }
      end
    end
  end
end

我只需要添加一个名为 token 的自定义节点,它的值是通过调用 MobileUser 类的方法获得的

:token => MobileUser.next_token
4

1 回答 1

1

您可以像这样更改对 as_json 的调用:

format.json {render :json => @mobile_user.as_json(:methods => [:next_token])}
于 2012-06-06T13:50:47.923 回答