Rails Routes - Ограничение доступных форматов для ресурса

Сначала вам нужно как-то загрузить пользовательские данные

Затем вам нужно найти свой EditText, если у вас его нет -

EditText et = (EditText)findViewById(R.id.youredittext);

после того, как вы Вы нашли ваш EditText, позвоните

et.setText(theUserName);
26
задан Eric M. 9 September 2010 в 17:54
поделиться

5 ответов

Вы просто добавляете ограничения по формату:

resources :photos, :constraints => {:format => /(js|json)/}
17
ответ дан 28 November 2019 в 06:13
поделиться

Вы должны обернуть эти маршруты в область видимости. К сожалению, в этом случае ограничения не работают должным образом.

Это пример такого блока ...

scope :format => true, :constraints => { :format => 'json' } do
  get '/bar' => "bar#index_with_json"
end

Дополнительную информацию можно найти здесь: https://github.com/rails/rails/issues/5548

.
63
ответ дан 28 November 2019 в 06:13
поделиться

Как насчет

# routes.rb

class OnlyAjaxRequest
  def matches?(request)
    request.xhr?
  end
end

post "/test/suggestions", to: "test#suggestions", :constraints => OnlyAjaxRequest.new

он вообще не попадает в контроллер. Взято из railsadventures

0
ответ дан 28 November 2019 в 06:13
поделиться

Если вам нужно не только одно или другое, чем json (не могу использовать #xhr?), я предлагаю вам вариант ниже

resource :offers, only: :show, format: true, constraints: { format: 'pdf' }

Надеюсь, что это поможет

0
ответ дан 28 November 2019 в 06:13
поделиться

Вы можете использовать before_filter, который вызывает ошибку маршрутизации, если формат запроса не MIME::JS.

app / controllers / application_controller.rb:

class ApplicationController < ActionController::Base
  before_filter :check_js

  private
    def check_js
      raise RoutingError.new('expected application/json') unless request.format == MIME::JS
    end
end

Применять этот фильтр более хирургически с помощью :only, :except и :skip_before_filter, как описано в рельсах Руководство по контроллеру действий

-1
ответ дан 28 November 2019 в 06:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: