词汇:default
vi. 拖欠;不到场;不履行
相关场景
def glass_case_of_emotion x="I'm in a " + __method__.to_s.tr('_',' ') binding; binding 可以获得当前的临时域并把这个临时域封装到Binding对象中作为返回结果。这个指定的上下文是eval方法的第二个参数; eval("x", glass_case_of_emotion); class_eval很像是重新打开类,实际上是被定义在Module里面,only被模块和类使用。= moudle_eval; instance_eval访问实例变量;class_eval定义实例方法。 class Widget attr_accessor(:name, :quantity) def initialize(&block) instance_eval(&block) if block end ;;; w= Widget.new do |widget| widget.name= "Elbow Grease" ; @quantity = 0; end ; instance_exec, class_exec, moudle_exec; only accept 代码块, no string; object.instance_eval("@#{name} = DEFAULT")
module Reset def self.reset_var (object, name) object.instance_exec("@#{name}.to_sym") do |var| const = self.class.const_get(:DEFAULT); instance_variable_set(var, const) end ...
>> Effective Ruby
module Reset def self.reset_var (object, name) object.instance_exec("@#{name}.to_sym") do |var| const = self.class.const_get(:DEFAULT); instance_variable_set(var, const) end ...
>> Effective Ruby
And it's gonna refer to an icon, by default,we just have a nice red dot.but you should obviously replace that with your application. And if I hop in and have a look at the service worker, it is sort of already set up for doing we push,just as an example here, having some listeners, you can tweak that as you see fit.
>> Rails 8.0.1 You are in good company
>> Rails 8.0.1 You are in good company
它将指向一个图标,默认情况下,我们只有一个漂亮的红点。但你显然应该用你的应用程序替换它。如果我跳进去看看服务工作者,它已经为我们推送做了准备,就像这里的一个例子,有一些监听器,你可以根据需要进行调整。
If we hop to the session, you can see it just is very basic Rails active record. Now we're gonna set up a default user that the systems should have as we're working with it to allow us to log in since we don't have that signup flow.
>> Rails 8.0.1 You are in good company
>> Rails 8.0.1 You are in good company
Everything else by default will be behind the authentication lock! There's also a rate limit to make sure that people don't bombard you with attempts to log into users do not have access to.
>> Rails 8.0.1 You are in good company
>> Rails 8.0.1 You are in good company
Now, let's add authentication to things as well. Authentication is one of the newer feature in Rails, it basically gives you a default setup for tracking sessions, tracking passwords, and even doing password resets.
>> Rails 8.0.1 You are in good company
>> Rails 8.0.1 You are in good company
By default, Kamal will use a docker volume to start these things up, but of course, you can configure that, and as I said, you can use S3 if you'd like as well.
>> Rails 8.0.1 You are in good company
>> Rails 8.0.1 You are in good company
And that'll connect to the remote server, and it'll install Docker if it's missing,it'll build the Docker file or Docker container off the Docker file that Rails ship with by default, there's nothing you need to set up there.
>> Rails 8.0.1 You are in good company
>> Rails 8.0.1 You are in good company
这将连接到远程服务器,如果缺少Docker,它将安装Docker,它会根据Rails默认附带的Docker文件构建Docker文件或Docker容器,你不需要在那里设置任何东西。
And there's a default configuration file in config/deploy.yml that we can use, it's prefilled a little bit, it has the service name of the name of reaction, but we need to rename, for example, your user,the name of the image to go to my name of where I store this on Docker Hub. You can see we change that down in the registry as well and the name of the container image.
>> Rails 8.0.1 You are in good company
>> Rails 8.0.1 You are in good company
All right, let's save that and hop back into our browser. Oop! I made a mistake here! When we generated the resource,it added a route for the new comments,but that route was not nested by default. We actually need to go into our routes.rb, that resource we added needs to be nested.
>> Rails 8.0.1 You are in good company
>> Rails 8.0.1 You are in good company
And then, Rails by default also adds two timestamps that it keeps track of by itself, created at and updated at. And below that, you had the post that we added originally.
>> Rails 8.0.1 You are in good company
>> Rails 8.0.1 You are in good company
Alright! Now let's add some comments to our blogging system! And I'm gonna use a different generator here,I'm gonna use a resource generator that is a little lighter than the one we were using for scaffold that doesn't generate a bunch of views, and doesn't generate all sorts of actions in the controller by default, but it does generate the new model that we need the comment model, it generates a migration for that, create comments ,and it generates just some empty placeholders for the comments controller and for the view action.
>> Rails 8.0.1 You are in good company
>> Rails 8.0.1 You are in good company
If you look at something like hey.com, you'll see this technique in use on a major application, and you can view all of the Javascript that we use to build that application, and that's the default for Rails.
>> Rails 8.0.1 You are in good company
>> Rails 8.0.1 You are in good company
But really, what's unique here for Rails is the fact that we're using no build by default! So if I go over here in the inspector and look at the JavaScript files that are included,you can see we have the application js file with a little digest stamp on there. If we change anything that application js file, the digest is going to change, and the browser will redownload just the part!
>> Rails 8.0.1 You are in good company
>> Rails 8.0.1 You are in good company
But now that we've add that, let's have a look at our application JS file.That's the default setup that you have that the scaffold is going to use. And as you can see, we're using turbo-rails, we're including all the stimulus controllers, if we have any.
>> Rails 8.0.1 You are in good company
>> Rails 8.0.1 You are in good company
You don't need anything beyond what Rails ship you with already, because Rails 8 is all no build by default! That means there's not a transpiler, that means there's not a bundler, these files are shipped directly to the browser over HTTP2, so it's nice and fast. And the import map is what allows us to refer to these files by their logical names while still doing far future digesting, so that they load really quick,and such that they're easily compatible with CDNs and all that good stuff.
>> Rails 8.0.1 You are in good company
>> Rails 8.0.1 You are in good company
除了Rails已经提供的内容之外,你不需要任何东西,因为Rails 8默认情况下都是无构建的!这意味着没有转译器,也就是说没有打包器,这些文件通过HTTP2直接发送到浏览器,所以它既好又快。导入映射允许我们通过这些文件的逻辑名称引用它们,同时仍在进行未来的消化,这样它们加载得非常快,并且很容易与CDN和所有好东西兼容。
Now, let's add a bit of custom JavaScript. Rails by default ships with Hotwire! Hotwire gives you Turbo, which is a way of accelerating page changes and updates is that your application will feel as fast and as smooth as a single page application without you basically having to write any JavaScript at all.
>> Rails 8.0.1 You are in good company
>> Rails 8.0.1 You are in good company
As you can see here, there is now a full WYSIWYG interface for creating the body. It comes with a default set of styles for the toolbar, you can change those, those styles are generated straight into your application, so you can make it look nice for yourself. Let's give some bold and italic text here, you see, that was all that was needed. but I think what's even nicer to look at here is if we do an upload and we add a file, you will see that file gets added with a preview directly to the WYSIWYG editor. And if we save that and we update the post, it is added to the post itself. And that then went through the whole process of doing a direct upload of the file when we dropped it into the editor, that uploads it straight to active storage. And then, we have access to that, and rendering it directly from whatever storage backend active storage is using. In this example , we're just storing on disk, but you could be storing your active storage in S3 or another object storage.
>> Rails 8.0.1 You are in good company
>> Rails 8.0.1 You are in good company
Now, let's install something else here, let's install action_text, that is one of the frameworks that's part of Rails, but it's not set up by default, but you can set it up by running rails action_text:install, that's going to give you a WYSIWYG editor. That's currently powered by Trix! The open source, what you see is what you get editor made in JavaScript! And it also sets up active storage!
>> Rails 8.0.1 You are in good company
>> Rails 8.0.1 You are in good company
Now , Rails has a bunch of different ways you can do the CSS, there's also a path where you can use Tailwind. Lots of people like that for good reason, and there are a bunch of different options, all the major CSS frameworks are available, but by default, we ship with a no build, as I said, intention and simple CSS just make things look prettier without having to adorn anything with classes, or what have you.
>> Rails 8.0.1 You are in good company
>> Rails 8.0.1 You are in good company
By default, I like to use simple CSS. https://cdn.simplecss.org/simple.css. It is simply a individual file that's being included, I don't have to compile anything here, I'm just referencing it straight off their CDN. And if we save that and reload, you can see it just looks a little nicer.
>> Rails 8.0.1 You are in good company
>> Rails 8.0.1 You are in good company
But oh yeah! Let's show you real quick here,if you do a /post.json, you're gonna get that automatic API as well, as I showed you in the controller, there are two different paths, you have HTML, and you have JSON. You could also have added XML in there or another path, but by default, you just get these two different variants, the HTML and the JSON variant.
>> Rails 8.0.1 You are in good company
>> Rails 8.0.1 You are in good company
This is the thing you're gonna see, when you start up a new Rails application, it'll tell you which version you're on, both for the ruby version, the Rails version, and the Rack version. That's running on localhost:3000 by default. But if we do slash posts here, you'll see the scaffold interface that we generated. Now, this is the index action, the one we just looked at in the view and from the controller. But if we click the New, you see here we have form for creating the new post with its title and its body. it's quiet basic, to put it mildly right now, but all the actions are mapped out. This scaffold interface is not meant for shipping into production, it is meant to showing you how to build a Rails application with the basics, and then you make it look pretty, you make it look nice.
>> Rails 8.0.1 You are in good company
>> Rails 8.0.1 You are in good company
And Rails uses ERB, which is essentially embedded Ruby. So, you mix HTML with Ruby in line, and you can split out more complicated functions into helper methods. But otherwise, this is the clearest cut setup in Rails, this is the default for integrating HTML and Ruby.
>> Rails 8.0.1 You are in good company
>> Rails 8.0.1 You are in good company
Start with some sensible defaults, then customize the components to your needs.
>> 2024-10 The metamorphosis from anxious wife
>> 2024-10 The metamorphosis from anxious wife
So we thank Sprockets for 15 years of service, but the future of the asset pipeline in Rails is called Propshaft. And it’s now the default for all Rails 8 applications, though we’ll continue to support Sprockets for existing applications.
>> Rails8
>> Rails8
因此,我们感谢Sprockets 15年的服务,但Rails资产管道的未来称为Propshaft。现在,它是所有Rails 8应用程序的默认设置,尽管我们将继续为现有应用程序支持Sprockets。