method-missing

    0熱度

    2回答

    目前我們正在使用method_missing來調用我們控制器中對搜索引擎優化友好行爲的調用,而不是爲變量的每個可以想到的值創建操作。我們要的是URLS這樣的: /學生/ BobSmith 和NOT /學生/顯示/ 342 難道還有比method_missing的一個清潔的解決方案? 謝謝!

    0熱度

    1回答

    這裏的情況: 我有一個用戶模型,和兩個模塊進行身份驗證:Oauth和Openid。它們都覆蓋了ActiveRecord#save,並且有相當多的實現邏輯。 既然我可以告訴當用戶試圖通過OAuth與OpenID的登錄,但他們兩人都覆蓋save,怎麼辦?「終於」覆蓋save,這樣我可以有條件地調用模塊的實現之一它? 這裏是什麼,我描述的基本結構: module UsesOauth def

    4熱度

    1回答

    Ruby有method_missing,Python有getattr。 Boo提供了一些我可以用來攔截方法調用的東西嗎?

    0熱度

    1回答

    如何讓這段代碼有效? class Meta @array = [:a,:b] def self.method_missing(name, *args, &block) if @array.include? name self.class.send(:define_method, name) do do_call(name

    3熱度

    3回答

    我一直在玩弄使用PowerShell的動態能力,我想知道的東西 是不是有什麼事情在PowerShell中類似的Ruby的method_missing(),您可以設置一個「捕獲所有方法能夠動態處理將呼叫對象上不存在的方法?

    21熱度

    15回答

    在Ruby中,對象具有定義了稱爲method_missing一個方便的方法,它允許一個處理對於尚未甚至已(明確)的方法的方法調用: 由紅寶石調用時物鏡被髮送的消息時,它不能處理的。符號是調用方法的符號,args是傳遞給它的任何參數。默認情況下,解釋器在調用此方法時引發錯誤。但是,可以重寫該方法以提供更多動態行爲。下面的例子創建一個類Roman,它響應名稱由羅馬數字組成的方法,返回相應的整數值。 c

    6熱度

    1回答

    有誰知道用RealProxy攔截dynamic方法調用(特別是那些將要調用RuntimeBinderException的調用)的方法嗎?我希望能夠捕獲異常並在其上實現「方法缺失」,但是在攔截器獲取參數之前它似乎會被拋出。 我的測試只是看起來像: dynamic hello = MethodMissingInterceptor<DynamicObject>.Create(); Assert.Are

    1熱度

    1回答

    我有哪幾種方法,如類Foobutton_0_0,button_0_1,button_0_2,button_1_0等 我希望能夠通過下面的語法或者訪問這些: foo.button[0][1] foo.button[1][2] # etc. 我知道我可以創建一個@button實例變量,遍歷所有button_*訪問器,並以這種方式添加它們,但這看起來有點笨拙,並沒有真正遵循做事的「ruby方法」

    3熱度

    2回答

    每個用戶都有很多角色;找出用戶是否具有「管理員」的角色,我們可以使用has_role?方法: some_user.has_role?('admin') 它是這樣定義的: def has_role?(role_in_question) roles.map(&:name).include?(role_in_question.to_s) end 我希望能夠寫some_user.has_r