{"version":"1.0","provider_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","provider_url":"https:\/\/fatihsoysal.com\/blog","author_name":"Fatih Soysal","author_url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/","title":"Inline D\u00fczenleme: Rails'te \u00d6zel Elementlerle Ak\u0131c\u0131 Kullan\u0131c\u0131 Deneyimi","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"EeWLZ5uSDN\"><a href=\"https:\/\/fatihsoysal.com\/blog\/inline-duzenleme-railste-ozel-elementlerle-akici-kullanici-deneyimi\/\">Inline D\u00fczenleme: Rails&#8217;te \u00d6zel Elementlerle Ak\u0131c\u0131 Kullan\u0131c\u0131 Deneyimi<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/fatihsoysal.com\/blog\/inline-duzenleme-railste-ozel-elementlerle-akici-kullanici-deneyimi\/embed\/#?secret=EeWLZ5uSDN\" width=\"600\" height=\"338\" title=\"&#8220;Inline D\u00fczenleme: Rails&#8217;te \u00d6zel Elementlerle Ak\u0131c\u0131 Kullan\u0131c\u0131 Deneyimi&#8221; &#8212; Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" data-secret=\"EeWLZ5uSDN\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script>\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n<\/script>\n","description":"Modern web uygulamalar\u0131nda kullan\u0131c\u0131 deneyimi, ba\u015far\u0131n\u0131n anahtarlar\u0131ndan biri haline geldi. Sayfa yenilemelerini en aza indirerek veya tamamen ortadan kald\u0131rarak ak\u0131c\u0131 bir etkile\u015fim sunmak, kullan\u0131c\u0131lar\u0131n uygulaman\u0131zda daha fazla zaman ge\u00e7irmesini sa\u011fl\u0131yor. Peki, Rails gibi geleneksel sunucu tarafl\u0131 render motoruyla bu SPA (Single Page Application) benzeri deneyimi nas\u0131l yakalayabiliriz? \u0130\u015fte tam da bu noktada, \u00f6zel elementler (Custom Elements) devreye girerek Rails uygulamalar\u0131n\u0131za sat\u0131r i\u00e7i d\u00fczenleme (inline editing) g\u00fcc\u00fc kat\u0131yor. Bu makale, Rails backend'ini modern frontend yetenekleriyle birle\u015ftirerek kullan\u0131c\u0131lar\u0131n\u0131za kesintisiz bir deneyim sunman\u0131z i\u00e7in size ad\u0131m ad\u0131m rehberlik edecek."}