Skip to content

megics/winnerproject

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ÜÇÜNCÜ TAKIM

  • Kaan K. Kölköy
  • Ayşegül Koca
  • Yankı Ekin Yüksel
  • Meliha Gizem Çelik



GEMS

  • gem 'devise'
  • bundle install
  • rails generate devise User
  • rails db:migrate
    • bu noktadan sonra eğer bir sayfaya erişim için üyelik gerekiyorsa:
    • ilgili controller'ın başına before_action :authenticate_user!
    • kontrol etmek için user_signed_in?
    • aktif kullanıcıya erişmek için current_user
    • aktif session'a erişmek için user_session
  • root oluşturmak için routes.rb dosyasına root "home#index"
  • rails generate devise:views users
  • Custom controller oluşturmak için
    • rails generate devise:controllers users
    • routes.rb dosyasında değişiklik yap:
    • devise_for :users, controllers: { sessions: 'users/sessions' }
    • views/devise/sessionsviews/users/sessions yap

[Her migrationdan sonra model ile ilgili kısa özet geçmesi için]

  • gem 'annotate', require: false

Bu kadar


Eğlenceli veritabanı testi için

  • gem 'faker'

  • gem 'bootstrap-sass', '~> 3.3.6'
  • app/assets/stylesheets/application.css'i application.scss'e çevirip içine @import 'bootstrap ve @import "bootstrap-sprockets" ekleyin
  • Sunucuyu kapatıp açın

[Formlar kolaylaşsın diye]

  • gem 'simple_form'
  • bundle install
  • rails generate simple_form:install --bootstrap

Öğreleri sayfalandırmak için, bootstrap'in kendi stilleriyle

  • gem 'will_paginate', '~> 3.1.0'
  • gem 'will_paginate-bootstrap'
  • Kullanımı:
    ## perform a paginated query:
    @posts = Post.paginate(:page => params[:page])
    
    # or, use an explicit "per page" limit:
    Post.paginate(:page => params[:page], :per_page => 30)
    
    ## render page links in the view:
    <%= will_paginate @posts, renderer: BootstrapPagination::Rails %>

CronJob oluşturmak için

  • gem 'whenever', :require => false
  • wheneverize .

Arama formu oluşturmak için

  • gem 'ransack', github: 'activerecord-hackery/ransack'

Kullanımı:

Controller:

def index
@q = Person.ransack(params[:q])
@people = @q.result(distinct: true)
end

View:

<%= search_form_for @q do |f| %>

  # Search if the name field contains...
  <%= f.label :name_cont %>
  <%= f.search_field :name_cont %>

  # Search if an associated articles.title starts with...
  <%= f.label :articles_title_start %>
  <%= f.search_field :articles_title_start %>

  # Attributes may be chained. Search multiple attributes for one value...
  <%= f.label :name_or_description_or_email_or_articles_title_cont %>
  <%= f.search_field :name_or_description_or_email_or_articles_title_cont %>

  <%= f.submit %>
<% end %>

Yumuşşak silmek

  • gem "paranoia", github: "rubysherpas/paranoia", branch: "rails5"
  • bundle install
  • bin/rails generate migration AddDeletedAtToModelIsmi deleted_at:datetime:index
  • Kullanımı (model içerisinde)
class Client < ActiveRecord::Base
  acts_as_paranoid

  # ...
end

Otomatik Slug Halledici

  • gem 'friendly_id', '~> 5.1.0'
  • Sonra:
rails generate friendly_id
rails generate model Modelİsmi name:string slug:string:uniq
rake db:migrate
  • ModelIsmi.rb içerisinde
class ModelIsmi < ApplicationRecord
  extend FriendlyId
  friendly_id :sutun_ismi, use: :slugged
end
  • Daha sonra controllerda modeli çağırırken Model.find yerine:
User.friendly.find(params[:id])



GitHub kulanımı

  • git pull origin development yaptıktan sonra ilk iş branch oluşturmak => git checkout -b 'branch ismi'
  • Üzerinde çalıştığınız özellik tamamlandıktan sonra git push origin 'branch ismi' yapıp GihGub'a yollayın.
  • Conflict varsa çözülmesi için oradan ele alınacaktır.

  • Pull yapmak için git checkout development yapıp master branch'inden git pull origin development yapıp ilk aşamaya geri dönün.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 76.4%
  • HTML 17.8%
  • JavaScript 3.6%
  • CSS 2.2%