[RUBY] [Vue Rails] "Hallo Vue!" Wird mit Vue + Rails angezeigt

Erstellung der Vue + Rails-App

◆ Rails-App-Erstellung

// "-webpack=vue"Optionaler Vue.js verfügbar
$ rails new <Anwendungsname> -webpack=vue

◆ Modellerstellung

//Spaltenname: Name Datentyp: Text
$ rails g model sample name:text

◆ Bearbeitung der Migrationsdatei (für Hello.Vue! Display nicht erforderlich)

db/migrate/20200627045139_create_sample.rb


class CreateSample < ActiveRecord::Migration[6.0]
  def change
    create_table :sample do |t|
      t.text :name, null: false, default: ""
    end
  end
end

◆ Migration

$ rails db:create      //Datenbankerstellung
$ rails db:migrate    //Implementierung der Migration

◆ Controller-Erstellung

app/controllers/home_controller.rb


class HomeController < ApplicationController
  def index
  end
end

◆ Bearbeiten Sie route.rb

config/routes.rb


Rails.application.routes.draw do
  root to: 'home#index'
end

◆ Bearbeiten Sie index.html.erb

app/views/home/index.html.erb


<%= javascript_pack_tag 'hello_vue' %>
<%= stylesheet_pack_tag 'hello_vue' %>

◆ hello.vue.js (standardmäßig festgelegt)

app/javascript/packs/hello_vue.js


import Vue from 'vue'
import App from '../app.vue'

document.addEventListener('DOMContentLoaded', () => {
  const el = document.body.appendChild(document.createElement('hello'))
  const app = new Vue({
    el,
    render: h => h(App)
  })

  console.log(app)
})

◆ app.vue (standardmäßig eingestellt)

app/javascript/app.vue


<template>
  <div id="app">
    <p>{{ message }}</p>
  </div>
</template>

<script>
export default {
  data: function () {
    return {
      message: "Hello Vue!"
    }
  }
}
</script>

<style scoped>
p {
  font-size: 2em;
  text-align: center;
}
</style>

Memorandum

◆ before_action

login_controller.rb


class LoginController < ApplicationController
  before_action :set_answer
  
  def set_answer
    @sample = "Hello World!"  
  end
end

◆ rescue_from --Ausnahmebehandlung. Stellen Sie den Bildschirm für die Fehlerbehandlung ein --Schreiben Sie in app / controller / application_controller.rb

app/controller/application_controller.rb


class ApplicationController < ActionController::Base

  rescue_from ActiveRecord::RecordNotFound, with: :rescue404

end

Fehler aufgetreten

◆ Fehlerdetails ①

Webpacker::Manifest::MissingEntryError in Home#index

Lösung: Webpack-Installation

$ yarn
$ bin/yarn
$ webpack
$ webpack

◆ Fehlerdetails ②

Error: vue-loader requires @vue/compiler-sfc to be present in the dependency tree.

Lösung: Vue-Loader-Downgrade

$ npm remove vue-loader
$ npm install --save [email protected]
$ yarn add [email protected]

◆ Fehlerdetails ③

Sprockets::Rails::Helper::AssetNotFound in Home#index
 <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>

Lösung: Bearbeiten Sie app / views / layouts / application.html.erb

app/views/layouts/application.html.erb


<!-- javascript_include_Tag-Zeile löschen-->
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>

Verweise

Recommended Posts

[Vue Rails] "Hallo Vue!" Wird mit Vue + Rails angezeigt
Mit Rails + Docker einfach Hallo Welt anzuzeigen
[Rails 6] Laufzeitfehler mit $ Rails s
Gerät mit Schienen handhaben
[Rails] Lernen mit Rails Tutorial
[Schienen] Test mit RSpec
[Rails] Entwicklung mit MySQL
Unterstützt Mehrsprachigkeit mit Rails!
Hallo Welt mit Micronaut
Hallo Welt mit Spring Boot
[Rails] Polymorph mit graphql-rubin ausdrücken
[Rails] Videos mit Rails hochladen (ActiveStorage)
Japanisieren Sie mit i18n mit Rails
Hallo Welt mit Spring Boot!
Vorbereitung für die Entwicklung mit Rails
Hallo Welt mit VS Code!
Führen Sie Rails immer im Docker aus
[Docker] Rails 5.2-Umgebungskonstruktion mit Docker
Verwenden Sie mit Rails 6.0 mehrere Datenbanken
[Rails] Geben Sie das Format mit link_to an
Hallo Welt mit Spring Boot
Hallo Welt mit SpringBoot / Gradle
[Rails] fields_for wird nicht angezeigt
[Docker] Wird immer mit Docker + Rails verwendet
Hallo Welt, mit Asakusa Framework!
So erstellen Sie eine Rails + Vue + MySQL-Umgebung mit Docker [neueste Version 2020/09]
Erstellen Sie mit Docker eine Vue3-Umgebung!
Erstellen Sie ein Portfolio mit Rails + Postgres SQL
[Schienen] Getriebe mit LINE Bot schieben
Bis "Hallo Welt" mit Spring Boot
Hallo Welt mit Kotlin und JavaFX
Hallo Welt mit Docker und C Sprache
[Grover] PDF mit Rails generieren [Version 2020]
[Rails] Erste Datenerstellung mit Seed
(Intellij) Hallo Welt mit Spring Boot
Strg-Z funktioniert, es gibt also eine Möglichkeit zu unterbrechen und zu töten: Dies ist mühsam und kann den falschen töten. Sie können dies in ein Python-Skript schreiben. Verfolgen Sie Rails-App-Fehler mit Python, C-Erweiterung Sentry
Hallo Welt mit GlassFish 5.1 + Servlet + JSP
Erstellen Sie PDF mit itext7 ~ HelloWorld ~
[Umgebungskonstruktion mit Docker] Rails 6 & MySQL 8
Stellen Sie mit dem iPhone eine Verbindung zum Rails-Server her
"Hallo Welt" für ImageJ mit Eclipse
Erstellen Sie meine Seite mit Rails
Einführung in React to Rails mit React-Rails