4
を処理するために、Railsのカンカン宝石を使用して:そのhas_and_belongs_to_many
レストランとその逆私は、次のしているhas_and_belongs_to_manyアソシエーションの状況
- Userモデルを。
- レストランモデル
that has_and_belongs_to_many
食事とその逆。私ability.rb
ファイルで
、私は、ユーザーがレストランの食事氏「has_and_belongs_to」(user.restaurants
ですなわちレストランを)だけで管理できるように指定します。
私は今、この権利を持っている:
class Ability
include CanCan::Ability
def initialize(user)
# a user can only manage meals of restaurants he has access to
can :manage, Meal do |meal|
meal.restaurant_ids & user.restaurant_ids #...this doesn't work...
end
end
end
これを行うための最善の方法は何ですか?
私はhttps://github.com/ryanb/cancan/wiki/Defining-Abilities-with-Blocksと相談しましたが、まだ分かりません。
応答ありがとうございます。私はすぐにこれを試してみるでしょう。好奇心の外に、このプレゼント()メソッドはどこに定義されていますか? Ruby Arrayのドキュメントにはありません。 – dmonopoly
ああ、見つかったのです.... http://api.rubyonrails.org/classes/Object.html#method-i-present-3F:] – dmonopoly
古いコメントを残して申し訳ありません質問。私がフォーム上で ':create'アクションを実行していて、どのレストランが食事に属しているかをチェックボックスでチェックしているのであれば、私が所有する1つのレストランIDと1を送信することでシステムを偽装することは可能でしょうか?そうじゃない? 1つの正しいIDが存在するため、上記の条件はtrueを返します。 –