[RUBY] [Vue Rails] "Hello Vue!" Affiché avec Vue + Rails

Création d'applications Vue + Rails

◆ Création d'applications Rails

// "-webpack=vue"Vue en option.js disponible
$ rails new <Nom de l'application> -webpack=vue

◆ Création de modèle

//Nom de colonne: nom Type de données: texte
$ rails g model sample name:text

◆ Modification du fichier de migration (non requis pour Hello.Vue! Display)

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      //Création de base de données
$ rails db:migrate    //Mise en œuvre de la migration

◆ Création de contrôleur

app/controllers/home_controller.rb


class HomeController < ApplicationController
  def index
  end
end

◆ Modifier routes.rb

config/routes.rb


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

◆ Modifier index.html.erb

app/views/home/index.html.erb


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

◆ hello.vue.js (défini par défaut)

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 (défini par défaut)

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>

mémorandum

◆ before_action --Définissez une méthode et définissez-la sur `` before_action ''

login_controller.rb


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

◆ rescue_from

app/controller/application_controller.rb


class ApplicationController < ActionController::Base

  rescue_from ActiveRecord::RecordNotFound, with: :rescue404

end

Erreur rencontrée

◆ Détails de l'erreur ①

Webpacker::Manifest::MissingEntryError in Home#index

Solution: installation du Webpack

$ yarn
$ bin/yarn
$ webpack
$ webpack

◆ Détails de l'erreur ②

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

Solution: rétrograder vue-loader

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

◆ Détails de l'erreur ③

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

Solution: modifiez app / views / layouts / application.html.erb

app/views/layouts/application.html.erb


<!-- javascript_include_Supprimer le slogan-->
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>

Les références

Recommended Posts

[Vue Rails] "Hello Vue!" Affiché avec Vue + Rails
Facile à afficher Hello World avec Rails + Docker
[Rails 6] Erreur d'exécution avec $ rails s
Manipuler le dispositif avec des rails
[Rails] Didacticiel Apprendre avec les rails
[Rails] Test avec RSpec
[Rails] Développement avec MySQL
Prend en charge la multilinguisme avec Rails!
Hello World avec Micronaut
Hello World avec Spring Boot
[Rails] Polymorphique express avec graphql-ruby
[Rails] Télécharger des vidéos avec Rails (ActiveStorage)
Japaneseize en utilisant i18n avec Rails
Bonjour tout le monde avec Spring Boot!
Préparation au développement avec Rails
Bonjour tout le monde avec VS Code!
Exécuter des rails à chaque fois dans le docker
[Docker] Construction de l'environnement Rails 5.2 avec docker
Utilisez plusieurs bases de données avec Rails 6.0
[Rails] Spécifiez le format avec link_to
Hello World avec Spring Boot
Hello World avec SpringBoot / Gradle
[Rails] fields_for n'est pas affiché
[Docker] À utiliser à tout moment avec Docker + Rails
Bonjour tout le monde! Avec Asakusa Framework!
Comment créer un environnement Rails + Vue + MySQL avec Docker [dernière version 2020/09]
Créez un environnement Vue3 avec Docker!
Créer un portfolio avec rails + postgres sql
[Rails] Transmission push avec LINE Bot
Créer une fonction de pagination avec Rails Kaminari
Jusqu'à "Hello World" avec Spring Boot
Bonjour tout le monde avec Kotlin et JavaFX
Hello World avec Docker et langage C
[Grover] Générer un PDF avec des rails [version 2020]
[Rails] Création initiale des données avec seed
(Intellij) Hello World avec Spring Boot
Suivre les erreurs de l'application Rails avec Sentry
Hello World avec GlassFish 5.1 + Servlet + JSP
Créez un PDF avec itext7 ~ HelloWorld ~
[Construction de l'environnement avec Docker] Rails 6 et MySQL 8
Connectez-vous au serveur Rails avec iPhone
"Hello world" pour ImageJ avec Eclipse
Créer ma page avec Rails
Présentation de React to Rails avec react-rails