忍者ブログ
[1]  [2]  [3]  [4]  [5]  [6]  [7]  [8]  [9]  [10]  [11
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Windows10 2019/5版

1.エディタVSCodeをインストール
2.日本語化、画面左のアイコン(□)を押し「japanese」で検索

3.Rubyをインストール RubyInstaller whithDEVを選択 2.6.3
4.Msys2をインストール 1,2,3 devの進化形
5.SQliteのダウンロード
 sqlite.exe sqldiff.exe sqlite3_analyzer.exeをC:ruby***\bin内にコピー
6.sqlite3 - version   3.28.0

7.bundlerのインストール Start Command Prompt with Rubyを起動
8.gem install bundler
9.railsのインストール
10.gem install rails
11.rails -v 5.2.3

12.BootStrapをインストール

1.Node.jsをインストール (この時点の最新版12.2.0)
2.Gemfileに追記
gem 'bootstrap', '~> 4.1.3'
gem 'jquery-rails'

3.applocatio.cssの拡張子を.SCSSに変更して追記
@import "bootstrap";

4.boot.rbに追記
ENV['EXECJS_RUNTIME'] = 'Node'

5.bundle install
でOKです、ちゃんと起動しました
ENV。。。でエラーになっていたそうです。

index.html.rebに追記

<%= link_to "ブートストラップのボタン",new_task_path,class:"btn btn-success" %>
綺麗な緑のボタンが表示されればOK

rails sでサーバーを起動すると

ails 指定されたモジュールが見つかりません sqlite3_native.so
のエラーがでる


gem uninstall -a sqlite3

gem install  sqlite3

拍手

PR
rails sでサーバーを起動すると

ails 指定されたモジュールが見つかりません sqlite3_native.so
のエラーがでる


gem uninstall -a sqlite3

gem install  sqlite3

で解決

拍手

・追加
a:
task=Task.new(params.require(:task).permit(:name, :description))

b:
task = Task.new
task.attributes = {name: params.require(:task).permit(:name)[:name],
description: params.require(:task).permit(:description)[::description]}


if task.save!

・update
@task = Task.find(params[:id])
 if @task.update(params.require(:task).permit(:name, :description))


拍手

_form.html.erb

共通ルーチン
<%= form_for @task do |t| %>
<div class="container">
    <div class="row">
         <div class="col-1 text-white bg-dark" >名前</div>
         <div class="col-1"> <%= t.text_field :name,placeholder: 'enter name' %></div>
    </div>
    <div class="row">
      <% if @task.errors.messages[:name].any? %>
      <%= @task.errors.messages[:name][0] %>
      <% end %>
    </div>
    <div class="row">
      <div class="col-1 text-white bg-dark" >内容</div>
      <div class="col-5"><%= t.text_area :description,placeholder: 'enter description' %></div>
    </div>
    <div class="row">
      <% if @task.errors.messages[:description].any? %>
      <%= @task.errors.messages[:description][0] %>
      <% end %>
    </div>
    <div class="row">
        <%= t.hidden_field :dat1 ,value:'hogehoge' %>
    </div>
    <div class="row">
    <div  class: 'btn btn-warning btn-sm > <%= t.submit %></div>|
        <%= link_to 'Back', tasks_path , class: 'btn btn-warning btn-sm' %>
  

<% end %>

newとedit
<h1>追加</h1>
<%= render 'form' %>


拍手

controllerの編集
class TasksController < ApplicationController
  def index
    @tasks = Task.all.order(created_at: 'desc')
  end

  def show
    @task = Task.find(params[:id])
  end

  def new
    @task = Task.new
  end

  def edit
    @task = Task.find(params[:id])
  end

  def create
    #task_params
    task=Task.new(params.require(:task).permit(:name, :description))
  
    #task = Task.new
   # task.attributes = {name: params[:task][:name], description: params[:task][:description]}
   
    #@task= Task.new(task_params )
    #@task = Task.new(task_params)
 
    #if @task.save
    if task.save!
    #redirect
        flash[:notice] ="タスク 「#{task.name}」を登録しました"
        redirect_to tasks_path
    else
        #render plain:@post.errors.inspect
        render :new
    end
  end

  def update
    @task = Task.find(params[:id])
    if @task.update(params.require(:task).permit(:name, :description))


   # @task = Task.find(params[:id])
   # if @task.update(task_params)
        flash[:notice] ="タスク 「#{@task.name}」を更新しました"
        redirect_to tasks_path
    else
        render 'edit'
    end
  end

  def destroy
    task = Task.find(params[:id])
    task.destroy
    flash[:notice] ="タスク 「#{task.name}」を削除しました"
    redirect_to  tasks_path
  end
  private
  def task_params
      params.require(:task).permit(:name,:description,:dat1)
  end
end

class TasksController < ApplicationController
  def index
    @tasks = Task.all.order(created_at: 'desc')
  end

  def show
    @task = Task.find(params[:id])
  end

  def new
    @task = Task.new
  end

  def edit
    @task = Task.find(params[:id])
  end

  def create
    task_params
    task = Task.new
    task.attributes = {name: params[:task][:name], description: params[:task][:description]}

    #@task= Task.new(task_params )
    #@task = Task.new(task_params)
    #if @task.save
    #if @task.save
    if task.save!
    #redirect
        flash[:notice] ="タスク 「#{task.name}」を登録しました"
        redirect_to tasks_path
    else
        #render plain:@post.errors.inspect
        render :new
    end
  end

  def update
    @task = Task.find(params[:id])
    if @task.update(params.require(:task).permit(:name, :description))


   # @task = Task.find(params[:id])
   # if @task.update(task_params)
        flash[:notice] ="タスク 「#{@task.name}」を更新しました"
        redirect_to tasks_path
    else
        render 'edit'
    end
  end

  def destroy
    task = Task.find(params[:id])
    task.destroy
    flash[:notice] ="タスク 「#{task.name}」を削除しました"
    redirect_to  tasks_path
  end
  private
  def task_params
      params.require(:task).permit(:name,:description,:dat1)
  end
end

拍手

カレンダー
03 2025/04 05
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
フリーエリア
最新CM
[03/10 DORA]
最新TB
プロフィール
HN:
dorabu
性別:
非公開
バーコード
ブログ内検索
P R
Copyright © ドラブーのアンドロイドとIoTなブログ All rights reserved. / Template by 四季. / Material by てんせん.

忍者ブログ [PR]