ruby - rails路由constraints问题
黄舟
黄舟 2017-04-25 09:02:04
0
2
698

初学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
  • 这段代码大致是什么意思?

  • self.matches?这个函数名问号是什么意思?

  • 这个request变量名并没有定义,是rails自动生成的吗?

  • not ns.nil?这个是啥意思?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

membalas semua(2)
Peter_Zhu
  • Nilai pulangan kaedah dengan ? dalam Ruby adalah benar/salah

  • permintaan ialah pembolehubah tersuai dalam pengawal rel dan respons yang sepadan juga

  • bukan bermaksud penafian, contohnya, tidak benar bermaksud palsu, ns.nil? Apa yang dikembalikan ialah jenis boolean, bukan dinafikan

  • Kaedah ini digunakan untuk memadankan laluan.fullpath mengembalikan laluan relatif Contohnya, blogs.com/blogs mengembalikan /blogs, kemudian baris pertama mendapat 'blog' dikembalikan. 'Semak sama ada laluan semasa sepadan dengannya, jika ya, ia akan menjadi benar, jika tidak, ia akan menjadi palsu.

  • Anda boleh mencuba semua kaedah ini secara tempatan dan menjalankannya langkah demi langkah. Ini bukan perkara yang rumit

PHPzhong
var code=me
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan