하나미 1.2.0 추가 기능

6093 단어 Rubyhanami
어제 하나미 버전 1.2.0이 나왔는데 변경점을 정리하고 싶어요.

HTTP/2 Early Hints


HTTP/2의 새 상태 코드인 Early Hints에 해당합니다.
다음과 같이 설정하면 적용됩니다.
# config/puma.rb
# ...
early_hints true
# config/environment.rb
Hanami.configure do
  # ...
  early_hints true
end

Unobtrusive JavaScript (UJS)


일본어로 제어하는 자바스크립트죠?
rails4가 말한
form_for @user, remote: true
지지하다.
사용 방법은 hanami-ujsGemfile에 추가하십시오.
그리고 apps/web/templates/application.html.erb 다음과 같이 수정합니다.
  • <head><%= csrf_meta_tags %>를 추가합니다.

  • 원하는 위치에 <%= javascript 'hanami-ujs' %>를 추가합니다.</body> 이전에 추천합니다.)
  • 이렇게 설정하면 끝이야.실제 사용 시
    <%=
      form_for :search, "/search", remote: true do
        # ...
    
        submit "Search"
      end
    %>
    
    이렇게 하면 사용할 수 있다.

    새 개발자의 오류 페이지

    better_errors를 바탕으로 새로운 hanami-webconsole를 추가했다.
    이것은 업데이트되면 기본적으로 설정됩니다.
    ※ 추기
    기본적으로 들어갈 수 없음hanami-webconsole 사용
    group :development do
      gem 'hanami-webconsole'
    end
    
    라고 덧붙였다.Gemfile의 코드와 호환되지 않기 때문에 조건도 있습니다
    아래와 같이 코드를 비활성화하고 시작합니다
    $ bundle exec hanami s --no-code-reloading
    
    또는 shotgun 다음을 보완하고 명령을 수행합니다.
    group :plugins do
      gem 'hanami-reloader'
    end
    
    $ bundle exec hanami g reloader
    
    그리고 항상 그랬듯이.
    $ bundle exec hanami s 
    
    부팅 후 풍부한 오류 화면

    CLI hook


    하나미 cli에서 훅을 배울 수 있게 됐어.
    다음과 같은 두 가지 방법이 있습니다.
    Hanami::CLI.after("db migrate") do
      puts "the database has 23 tables"
    end
    
    Gemfile는 실현된 클래스 실례를 매개 변수로 전송한다.
    class DatabaseTableCounter
      def call(*)
        puts "the database has 23 tables"
      end
    end
    
    Hanami::CLI.after "db migrate", DatabaseTableCounter.new
    

    Project Rack middleware


    이것은 #call 개발자를 위한 기능입니다.
    Rack middlewaregem를 새로운 방법으로 사용할 수 있습니다.
    Hanami.plugin do
      middleware.use BetterErrors::Middleware
    end
    
    이로써 use측은 rack middlewaregem를 강제할 수 있다.

    Custom repositories commands


    하나미userom는 사용할 수 있을 것 같아요.
    예를 들어 여러 개의 기록을 통일적으로 등록하려면 다음과 같은 방법을 통해 실현할 수 있다.
    class TaskRepository < Hanami::Repository
      def create_many(data)
        command(create: :tasks, result: :many).call(data)
       end
    end
    
    이것에 관해서 나는 상세한 일을 잘 모르기 때문에 나중에 다시 기록하고 싶다.

    끝맺다


    이상은 이번 업데이트에 추가된 기능입니다.
    물론 오류 수정도 포함된 것 같습니다.
    또 하나미 2.0.0의 개발도 시작됐다.
    저는 개인적으로 Hanami도 루비라는 단어에 들어갔으면 좋겠어요.
    여러분도 엔조이 하나미 오세요!

    좋은 웹페이지 즐겨찾기