0
我想基於變量運行某些私人控制的方法,即:Rails的:基於運行私人控制方法變量
def new
@doc = Doc.new
#see private methods
@template.name.parameterize.underscore
respond_to do |format|
format.html
end
end
凡@template.name.parameterize.underscore
將在私有方法的確切名稱同一個控制器。那可能嗎?如果不是,有沒有辦法實現這一目標?
UPDATE
使用此代碼來代替:
template = @template.name.parameterize.underscore.to_sym
@doc.send template
給了我一個NoMethodError:undefined method 'newsletter' for #<Doc:blah>
即使我已經在控制器稱爲newsletter
的私有方法。
http://ruby-doc.org/core-2.0/Object.html#method-i-send –
這對控制器方法有效嗎?對於通過'send'傳遞的所有內容,我得到一個NoMethodError。 –
它適用於所有事情 - 所有的Ruby方法調用都只是消息,發送可以讓您發送任意消息。你確定你打電話發送正確的對象? –