0

私はサインアップにデバイスを使用しており、各ユーザーは場所に属しています。作成した場所の数に関係なく、すべての場所にアクセスできるスーパー ユーザーを作成したいと考えています。

現在、場所のパラメーターは location_id = 何らかの整数です

すべての場所に等しいスーパーユーザーに location_id を割り当てる方法についてのアイデアはありますか?

また、これの目的は、iOS アプリにすべての API データを認証および表示できるようにすることであることも付け加えておきます。

location_id = nil を定義して location.all を返そうとしています

if current_user.location = nil
    @locations = Location.all
  else
    @locations = current_user.location
  end

ただし、location_id = nil を持つユーザーでログインすると次のエラーが発生するため、nil を定義する必要があります。

{:action="show", :controller="locations", :id="nil} に一致するルートはありません

4

1 に答える 1

1

おそらく、私はあなたがやっていることの詳細を誤解していますが、super_userモデルにブール値フィールドを追加することができ、コントローラーでは次のようなものを使用するだけです:

if current_user.super_user
  @locations = Location.all
else
  @locations = current_user.location
end

if current_user.location別の方法として、nil の location_id を使用して「すべて」を表し、必要に応じての代わりに を使用することもできif current_user.super_userます。

于 2013-02-23T16:03:57.193 に答える