2 Nisan 2025 Çarşamba

Rails 7 Denemeler 5

https://ujk-ujk.blogspot.com/2025/04/rails-7-denemeler-5.html
İçindekiler +


    İletişim sayfası

    Uygulamamıza İletişim sayfası ekleyerek devam edeceğiz. Öncelikle test rutinlerini ekleyelim. 

    test/controllers/static_pages_controller_test.rb

    require "test_helper"

    class StaticPagesControllerTest < ActionDispatch::IntegrationTest
      ....

      test "should get contact" do
        get static_pages_contact_url
        assert_response :success
        assert_select "title", "İletişim | Yeni App"
      end

    end


    Tabi ki test yaparsak hata verecektir.

    $ rails t


    Aynı daha önce about eylemi için yaptıklarımızı tekrarlayacağız. Öncelikle yönlendirmesini yapalım.

    config/routes.rb

    Rails.application.routes.draw do
      get "static_pages/home"
      get "static_pages/help"
      get "static_pages/about"
      get "static_pages/contact"
      ....
    end


    Şimdi de kontrolöre eylemi ekleyelim.

    app/controllers/static_pages_controller.rb

    class StaticPagesController < ApplicationController
      def home
      end

      def help
      end

      def about
      end

      def contact
      end
    end


    Şimdi bir de görsel sayfası ekleyelim.

    app/views/static_pages/contact.html.erb

    <% provide(:title, 'İletişim') %>
    <h1>İletişim</h1>
    <p>
     Yeni App uygulamamız için iletişimi konunun anlatıldığı
     <a href="https://ujk-ujk.blogspot.com/2025/03/rails-7-denemeler-1.html">
     blog sayfalarında</a> yorum yaparak bulabilirsiniz.
    </p>


    Artık uygulamamız testten geçiyor durumda. İletişim sayfası eklendi. 




    Rails yönlendirmeler

    İsimlendirilmiş yönlendirmeler için tabi ki uygulamamızın yönlendirmelerinin yapıldığı config/routes.rb dosyası kullanılır. 

      root "static_pages#home"

    Bu satır uygulamamızın / ana root adresini static_pages#home eylemine yönlendiriyor. Bu şekil yönlendirmenin bir önemli etkisi daha var. Yönlendirmeleri düz URL değeri yerine isimlendirilmiş yönlendirmelerle yapmak. Uygulamamızda kullanabileceğimiz iki isimlendirilmiş yönlendirme var, root_path ve root_url değişkenleri.

    root_path -> '/'
    root_url -> 'http://www.example.com/'

    path değişken uygulama root'una göre bağıl, url değişken ise tam url web adresi olur. Normalde redirect hariç path değişkenler kullanacağız. 

    Şimdi diğer sayfalar için de isimlendirilmiş yönlendirme yapmak için routes.rb dosyamızı değiştirelim. 

      get "static_pages/help"

    bunun yerine 

      get "/help", to: "static_pages#help"

    yapmalıyız. Bu sayede help_path ve help_url değişkenleri oluşur. Hepsi için uygularsak

    config/routes.rb

    Rails.application.routes.draw do
      root "static_pages#home"
      get "/help", to: "static_pages#help"
      get "/about", to: "static_pages#about"
      get "/contact", to: "static_pages#contact"
    .....


    Yönlendirmeler değiştiği için testlerimiz hata verecektir. Onları da bir düzenleyelim.

    static_pages_controller_test.rb

    require "test_helper"

    class StaticPagesControllerTest < ActionDispatch::IntegrationTest
      test "should get home" do
        get root_path
        assert_response :success
        assert_select "title", "Yeni App"
      end

      test "should get help" do
        get help_path
        assert_response :success
        assert_select "title", "Yardım | Yeni App"
      end

      test "should get about" do
        get about_path
        assert_response :success
        assert_select "title", "Hakkımızda | Yeni App"
      end

      test "should get contact" do
        get contact_path
        assert_response :success
        assert_select "title", "İletişim | Yeni App"
      end

    end




    İsimlendirilmiş yönlendirmeleri kullanalım















    31 Mart 2025 Pazartesi

    Rails 7 Denemeler 4

    https://ujk-ujk.blogspot.com/2025/03/rails-7-denemeler-4.html
    İçindekiler +

     

    Selam bu bölümde Rails uygulamalarımızın görselleriyle uğraşacağız biraz.



    Yerleşimi Doldurmak

    Yeni App (statik sayfalar) uygulamamızı yaparken stil dosyalarının yerini ve sayfalarımıza yerleşim dosyasında nasıl eklendiğini görmüştük. app/assets/stylesheets/application.css stil dosyamız şu anda boş. Bu bölümde bir CSS framework kullanarak uygulamamıza stiller ekleyeceğiz. Önce yerleşim dosyasında sayfalarımıza bağlantılar koyacağız. Bunları yaparken kısmi (partial) görselleri öğreneceğiz. Sass kütüphanesini kullanacağız. 

    29 Mart 2025 Cumartesi

    WxRuby3 ile Masaüstü Uygulama Geliştirmek 5

    https://ujk-ujk.blogspot.com/2025/03/wxruby3-ile-masaustu-uygulama_29.html
    İçindekiler +


    Selam, WxRuby öğrenmeye kendi widget'larımızı üreterek devam ediyoruz. 


    Kendi Wx Nesnemizi Tanımlamak  

    GUI araç kitlerinde genelde button'lar, text widget'lar, scrollbar'lar, slider'lar gibi temel elemanlar olur. Her istediğimizi barındırmaları mümkün değil tabi ki. Daha gelişmiş elemanları programcı kendi üretir. 

    Kendi widget'ımızı iki yolla üretebiliriz. Ya mevcut bir nesneyi değiştiririz ya da sıfırdan yeni bir widget tanımlarız.

    24 Mart 2025 Pazartesi

    Rails 7 Denemeler 3

    https://ujk-ujk.blogspot.com/2025/03/rails-7-denemeler-3.html
    İçindekiler +

    Selam Rails 7 denemelerine Ruby programlama temellerini göreceğimiz bir bölümle devam ediyoruz. Önceki bölümde yazdığımız "yeni_app" uygulamamız üzerinden devam edeceğiz. 




    Rails Aromalı Ruby 

    Önceki bölümde Rails açısından önemli olan bazı Ruby programlama teknikleri kullandık. Ruby çok büyük bir programlama dili, neyse ki Rails uygulaması geliştirmek için bilmemiz gerekenler çok da fazla değil. Bu bölümde Rails'de kullanılan Ruby tekniklerine bir göz atacağız. İleride uygulamalar geliştirdikçe Ruby dili hakkında daha geniş bilgileri tekrarlarla öğrenmeye devam edeceğiz. 

    22 Mart 2025 Cumartesi

    WxRuby3 ile Masaüstü Uygulama Geliştirmek 4

    https://ujk-ujk.blogspot.com/2025/03/wxruby3-ile-masaustu-uygulama_22.html
    İçindekiler +

     Selam WxRuby ile masa üstü uygulamalara gelişmiş widget'larla devam ediyoruz.


    WxRuby Gelişmiş Widget'lar

    Bu bölümde Wx::ListBox, Wx::HTML::HtmlWindow ve Wx::ListCtrl widget'larını göreceğiz. 

    Wx kütüphanesinde gelişmiş elemanlar var, tree widget, bir HTML window, bir grid widget, bir listbox widget, bir list widget, veya gelişmiş stillendirme özelliklerine sahip editor widget gibi.



    Wx::ListBox

    ListBox nesnesi bir liste olarak verilen değerleri göstermek için kullanılır. ListBox nesnesi iki farklı şekilde üretilebilir, tek seçimli ya da çoklu seçimli olarak. Default olan tek seçimli olandır.