Maison  >  Questions et réponses  >  le corps du texte

ruby - rails路由constraints问题

初学rails,有几个问题不明白。

class NamespaceConstraint
  def self.matches?(request)
    name = request.fullpath.split('/').second.downcase
    if name[0] == '~' then name = name[1..-1] end
    ns = Namespace.where(name_lower: request.fullpath.split('/').second.downcase).first
    not ns.nil?
  end
end
Rails.application.routes.draw do

  constraints(NamespaceConstraint) do
    get  ':namespace' => 'namespaces#show'
  end

end
黄舟黄舟2758 Il y a quelques jours653

répondre à tous(2)je répondrai

  • 天蓬老师

    天蓬老师2017-04-25 09:04:04

    • La valeur de retour des méthodes avec ? dans Ruby est vrai/faux

    • request est une variable personnalisée dans le contrôleur Rails, et la réponse correspondante est également

    • pas signifie négation, par exemple, pas vrai signifie faux, ns.nil ? Ce qui est renvoyé est un type booléen, non nié

    • Cette méthode est utilisée pour faire correspondre les itinéraires. request.fullpath renvoie un chemin relatif. Par exemple, blogs.com/blogs renvoie /blogs. Ensuite, la première ligne obtient "blogs", puis "blogs". retourné. 'Vérifiez si l'itinéraire actuel lui correspond, si oui, ce sera vrai, sinon, ce sera faux.

    • Vous pouvez essayer toutes ces méthodes localement et les exécuter étape par étape

    répondre
    0
  • PHPz

    PHPz2017-04-25 09:04:04

    var code=me

    répondre
    0
  • Annulerrépondre