Il existe trois types d'environnements dans la base de données. Une base de données est également allouée en fonction de chaque tâche.
Type d'environnement | Nom du système environnemental | Utilisation |
---|---|---|
Environnement de développement | development | Vérifier le fonctionnement pendant le développement |
environnement de test | test | Effectuer des tests automatisés |
Environnement de production | production | Rendez-le disponible aux utilisateurs |
Au cours du développement, nous utiliserons l'environnement de développement et l'environnement de test. Ces deux fichiers sont automatiquement créés lorsque vous exécutez db: create.
Par défaut, vous pouvez facilement écrire du code en remplaçant le moteur de modèle utilisé dans erb par un moteur de modèle appelé slim.
Comment écrire slim
Comment écrire erb | Comment écrire slim |
---|---|
<% name %> | - name |
<%= name %> | = name |
#commentaire | /commentaire |
Bonjour </p> |
p bonjour |
<a href='//example.com">image</a> | a href="//example.com"image |
<div class="profile name"> | .profile.name |
<div id="pam"> | #pam |
Slim est pratique lorsque vous vous y habituez, donc ce sera difficile jusqu'à ce que vous vous y habituiez.
・ Créer un modèle Pour créer un modèle, entrez ce que vous voulez créer après les rails g (ce modèle temporel)
$ rails g model Task name:string description:text
En faisant cela ・ Le modèle de tâche peut être créé ・ Un fichier de migration de dessins de conception pouvant créer une table avec nom: chaîne description: le texte est créé. ・ Un fichier de test automatique du modèle est créé.
Pour créer une table, db: migrez le fichier de migration pour créer la table.
· Routage Le routage examine l'URL et la méthode HTTP et les affecte à chaque action du contrôleur.
Exemple d'URL | Méthode HTTP | Nom de l'action | Nom de la fonction | rôle |
---|---|---|---|---|
/tasks | GET | index | Affichage de la liste | Afficher toutes les tâches |
/tasks/17 | GET | show | vue détaillée | Afficher les tâches avec un identifiant spécifique |
/tasks/new | GET | new | Nouvel écran d'inscription | Nouvel écran d'inscriptionを表示する |
/tasks | POST | create | enregistrement | enregistrement処理を行う |
/tasks/17/edit | GET | edit | Écran d'édition | Écran d'éditionを表示する |
/tasks/17 | PATCH,PUT | update | mise à jour | mise à jour処理を行う |
/tasks/17 | DELETE | destory | Effacer | Effacer処理を行う |
Les méthodes HTTP sont importantes! !!
・ Comment combiner le routage en un
get 'tasks/index'
get 'tasks/show'
get 'tasks/new'
get 'tasks/edit'
Résumez le routage ci-dessus en utilisant des ressources
resource :tasks
La méthode des ressources peut combiner les sept actions d'index, afficher, nouveau, créer, modifier, mettre à jour et détruire en une seule.
get "/" => "tasks#index"
root to: 'tasks#index'
De plus, si vous spécifiez l'écran initial des rails comme racine de, la vue liée à cette action sera l'écran initial.
・ Méthode d'assistance URL Vous pouvez également remplacer / tasks / new, / tasks / edit, etc. par des méthodes d'assistance
Exemple d'URL | Méthode HTTP | Nom du modèle d'URL | Méthode d'assistance URL |
---|---|---|---|
/tasks | GET | tasks | tasks_path |
/tasks/17 | GET | task | task_path |
/tasks/new | GET | new_task | new_task_path |
/tasks | POST | tasks | tasks_path |
/tasks/17/edit | GET | edit_task | edit_task_path |
/tasks/17 | PATCH、PUT | task | task_path |
/tasks/17 | DELETE | task | task_path |
Nouvel écran d'inscription
ruby:app/views/tasks/new.html.slim
Nouvel enregistrement de la tâche h1
.nav.justify-content-end
= link_to 'liste', tasks_path, class: 'nav-link'
=form_with model:@task,local:true do |f|
.form-group
=f.label :name
=f.text_field :name, class: 'form-control', id: 'task_name'
.form-group
=f.label :name
=f.text_area :description, rows: 5, class: 'form-control', id: 'task_description'
=f.submit nil, class: 'btn btn-primary'
form_with sert à créer un formulaire. Remplissez le formulaire requis en utilisant f. ・ Explication .nav.justify-content-end: Code fourni par Bootstrap f.label: name: Affiche le libellé correspondant au champ de saisie Nom d'origine, mais comme il a été traduit en japonais, il sera nommé nom = f.text_field: name: Où mettre le texte class: 'form-control: La classe initialement attachée à bootstrap
app/controllers/tasks_controller.rb
def create
task = Task.new(task_params)
task.save!
redirect_to tasks_url, notice: "tâche"#{task.name}Était inscrit"
end
private
def task_params
params.require(:task).permit(:name,:description)
end
require (: task) .permit (: name ,: description) signifie "créer une nouvelle tâche en n'autorisant que les informations de nom et de description". Obtenez le paramètre créé avec les paramètres.
tâches / [id de tâche] peut être exprimé sous forme de chemin_tâche (tâche) à l'aide de la méthode d'assistance URL. L'identifiant est automatiquement déterminé à partir de la tâche d'argument dans rails.
simple_format(h(@task.description),{},sanitize: false, wrapper_tag: "div")
Les phrases qui incluent des explications, telles que la description, deviennent longues et nécessitent des sauts de ligne. Les pauses peuvent être facilement effectuées en utilisant simple_format.
Recommended Posts