From cb282ec211564e2fa1b5bc8f3b76fd44f6ba66ef Mon Sep 17 00:00:00 2001 From: Jai Chandran Ravichandran Date: Wed, 14 Jan 2026 17:41:54 +0530 Subject: [PATCH 1/5] This message contains the changes of the Ruby-Sample File. --- app/views/welcome/index.html.erb | 10 +++++----- package.json | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/app/views/welcome/index.html.erb b/app/views/welcome/index.html.erb index 8e7b785..b100af7 100644 --- a/app/views/welcome/index.html.erb +++ b/app/views/welcome/index.html.erb @@ -11,13 +11,13 @@ selectedDate: new Date(2023, 6, 13), eventSettings: { dataSource: [{ - id: 1, - subject: 'Meeting', - startTime: new Date(2023, 6, 13, 10, 0), - endTime: new Date(2023, 6, 13, 12, 30) + Id: 1, + Subject: 'Meeting', + StartTime: new Date(2023, 6, 13, 10, 0), + EndTime: new Date(2023, 6, 13, 12, 30) }] } }); scheduleObj.appendTo('#Schedule'); - \ No newline at end of file + diff --git a/package.json b/package.json index 63882e8..79e5fc7 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,11 @@ { "dependencies": { "@rails/webpacker": "5.4.4", - "@syncfusion/ej2-schedule": "^22.1.38", - "webpack": "^5.88.0", - "webpack-cli": "^5.1.4" + "@syncfusion/ej2-schedule": "^32.1.22", + "webpack": "^5.104.1", + "webpack-cli": "^6.0.1" }, "devDependencies": { - "webpack-dev-server": "^5.2.1" + "webpack-dev-server": "^5.2.3" } } From 73f03d5cdfeb5a6e38e5e0e0a7e8d0de4e448db8 Mon Sep 17 00:00:00 2001 From: Jai Chandran Ravichandran Date: Tue, 20 Jan 2026 14:45:06 +0530 Subject: [PATCH 2/5] This message contains the Ruby on Rails scheduler with the updated readme folder. --- README.md | 179 +++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 165 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 63a9384..2b2fd92 100644 --- a/README.md +++ b/README.md @@ -1,30 +1,181 @@ -# javascript-scheduler-ruby-rails-application + +# How to Integrate Ruby on Rails with Syncfusion TS Scheduler +This repository contains a sample full-stack application demonstrating how to display events in syncfuison TS Scheduler component using Ruby on Rails. The TS frontend provides a responsive UI for viewing and managing calendar events. ## Prerequisites +-Ruby - (3.2.2) +-Node JS - (>=18.13.0) +-Yarn - (>=1.22.19) -Ruby - 3.2.2 -Node Js - 18.13.0 -Yarn - 1.22.19 +## Project Structure +``` +├── README.md # This guide +├── postcss.config.js +├── package.json +├── package-lock.json +├── test +│ ├── events_controller_test.rb +│ ├── schedule_controller_test.rb +├── app +│ ├── javascript +│ │ ├── application.js +│ │ ├── controllers +│ │ │ ├── index.js + └── views + ├── layouts + │ ├── application.html.erb + └── welcome + └── index.html.erb +``` ## Ruby setup +### Installation +1. ## Ruby setup + You can install the Ruby from the following link. + [`https://www.ruby-lang.org/en/downloads/`](https://www.ruby-lang.org/en/downloads/) +2. ## Install Rails + ``` + gem install rails + ``` +3. ## Install dependencies: + ```bash + npm install + ``` +4. ## Install dependencies: + ```bash + yarn install + ``` +## Running the Application +1. Navigate to javascript-scheduler-ruby-rails-application folder + ```bash + cd javascript-scheduler-ruby-rails-application + ``` +2. Start the Scheduler FrontEnd + ```bash + rails server + ``` +3. Navigate to `http://localhost:3000` in your browser. (or) Ctrl + click the link in your terminal + + +## OutputPreview +![Frontend Preview](./SampleOutput.png) + +## Troubleshooting +- **Version error**: Check and install the current version as by prerequistes. +- **Port already in use**: Clear all the previous running applications in both browser and command prompt. + +## Rails project creation Setup from the Scratch + +## 1. Create your folder. +Create a folder with your own application name. + + +## 2. Create a Directory +Run the below command in your project terminal to create a directory. +```bash + mkdir rails-ts-scheduler +``` + +## 3. Navigate to your folder. +```bash + cd rails-ts-scheduler +``` + +## 4. Creation of rails Project +Create a new rails project in your folder using the below command. +```bash + rails new . --webpack --database=sqlite3 +``` + +## 5. Create package.json file +To create package.json file use the following command. +```bash + bundle add jsbundling-rails +``` -You can install the Ruby from the following link. -[`https://www.ruby-lang.org/en/downloads/`](https://www.ruby-lang.org/en/downloads/) +## 6. Add Scripts +To add esbuild scripts, app/javascript/application.js use the following command +```bash + rails javascript:install:esbuild +``` -## Install Rails +## 7. Installation of syncfusion dependencies +Install the syncfusion dependencies by the following commands. +```bash + + yarn add @syncfusion/ej2-base + yarn add @syncfusion/ej2-schedule + yarn add @syncfusion/ej2-buttons @syncfusion/ej2-calendars ``` -gem install rails + +## 8. Add CSS styles +Add the Styles in app/javascript/application.js. + +import the necessary css styles from syncfusion documentatoion from the below link +```bash + https://ej2.syncfusion.com/documentation/schedule/getting-started + ``` -## Add Syncfusion Scheduler component in your application +## 9. Creation of event models +To Create the event model in your application use the below commands. +```bash + rails generate model Event title:string start:datetime end:datetime description:text + rails db:migrate -Refer the following UG documenation for adding Syncfusion React component in your application -* [Getting Started of Syncfusion Javascript Scheduler component](https://ej2.syncfusion.com/javascript/documentation/schedule/getting-started) +``` + +## 10. Create controller and Routes +To Create Events Controller + Routes use following commands. +```bash + rails generate controller Events +``` -## Run the project +## 11. Creation of Home folder +Create the folder Home and index.html +```bash + rails generate controller Home index +``` +## 12. Update the code in index.html +Update the file app/views/Home/index.html or refer syncfusion documentation for different scheduler + https://ej2.syncfusion.com/documentation/schedule/getting-started +```bash + +
+ + +
+
+
+ +
``` -yarn install -rails server + +## 13.Run the application +Run the application using the following command. +```bash + rails server ``` + + + From 032cb54300fd1126bc1beb2308c3331525df9bfb Mon Sep 17 00:00:00 2001 From: Jai Chandran Ravichandran Date: Tue, 20 Jan 2026 17:53:07 +0530 Subject: [PATCH 3/5] This message contains the re-work of the readme file of ruby on rails with syncfusion schedule. --- Output.png | Bin 0 -> 29590 bytes README.md | 99 +++++++++++++++---------------- app/views/welcome/index.html.erb | 4 +- package.json | 2 +- 4 files changed, 50 insertions(+), 55 deletions(-) create mode 100644 Output.png diff --git a/Output.png b/Output.png new file mode 100644 index 0000000000000000000000000000000000000000..259e083b6084e67d680698be2fd0c1b4310b1730 GIT binary patch literal 29590 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 -# How to Integrate Ruby on Rails with Syncfusion TS Scheduler -This repository contains a sample full-stack application demonstrating how to display events in syncfuison TS Scheduler component using Ruby on Rails. The TS frontend provides a responsive UI for viewing and managing calendar events. +## How to Integrate Ruby on Rails with Syncfusion Scheduler +This repository contains a sample full-stack application demonstrating how to display events in syncfuison Scheduler component using Ruby on Rails. ## Prerequisites --Ruby - (3.2.2) --Node JS - (>=18.13.0) --Yarn - (>=1.22.19) +- Ruby - (3.2.2) +- Node JS - (>=18.13.0) +- Yarn - (>=1.22.19) ## Project Structure ``` ├── README.md # This guide ├── postcss.config.js ├── package.json -├── package-lock.json -├── test -│ ├── events_controller_test.rb +├── test #Testing the functionality +│ ├── events_controller_test.rb │ ├── schedule_controller_test.rb -├── app -│ ├── javascript +├── app +│ ├── javascript #Main JavaScript entry point that initializes frontend behavior │ │ ├── application.js │ │ ├── controllers │ │ │ ├── index.js └── views ├── layouts - │ ├── application.html.erb + │ ├── application.html.erb #Base HTML layout wrapping all views └── welcome - └── index.html.erb + └── index.html.erb # View template for the welcome page ``` -## Ruby setup +## Project Setup ### Installation -1. ## Ruby setup +1. #### Clone the project + Clone the project from the repository by creating a fork and branch. +2. #### Ruby setup You can install the Ruby from the following link. [`https://www.ruby-lang.org/en/downloads/`](https://www.ruby-lang.org/en/downloads/) -2. ## Install Rails + Then Install gem using below commands ``` gem install rails ``` -3. ## Install dependencies: +3. #### Install dependencies: ```bash npm install - ``` -4. ## Install dependencies: - ```bash + or yarn install ``` -## Running the Application -1. Navigate to javascript-scheduler-ruby-rails-application folder +### Running the Application +1. Navigate to javascript-scheduler-ruby-rails-application folder. ```bash cd javascript-scheduler-ruby-rails-application ``` -2. Start the Scheduler FrontEnd +2. Start the Scheduler Frontend ```bash rails server ``` 3. Navigate to `http://localhost:3000` in your browser. (or) Ctrl + click the link in your terminal -## OutputPreview +## Output ![Frontend Preview](./SampleOutput.png) ## Troubleshooting - **Version error**: Check and install the current version as by prerequistes. - **Port already in use**: Clear all the previous running applications in both browser and command prompt. -## Rails project creation Setup from the Scratch +## Creating Ruby on Rails Project With Syncfusion Scheduler -## 1. Create your folder. +### 1. Create your folder-directory. Create a folder with your own application name. - -## 2. Create a Directory Run the below command in your project terminal to create a directory. ```bash mkdir rails-ts-scheduler ``` -## 3. Navigate to your folder. +### 2. Navigate to your folder. ```bash cd rails-ts-scheduler ``` -## 4. Creation of rails Project +### 3. Creation of rails Project Create a new rails project in your folder using the below command. ```bash rails new . --webpack --database=sqlite3 ``` -## 5. Create package.json file +### 4. Create package.json file To create package.json file use the following command. ```bash bundle add jsbundling-rails ``` -## 6. Add Scripts +### 5. Add Scripts To add esbuild scripts, app/javascript/application.js use the following command ```bash rails javascript:install:esbuild ``` -## 7. Installation of syncfusion dependencies +### 6. Installation of syncfusion dependencies Install the syncfusion dependencies by the following commands. ```bash - - yarn add @syncfusion/ej2-base yarn add @syncfusion/ej2-schedule - yarn add @syncfusion/ej2-buttons @syncfusion/ej2-calendars - + or + npm add @syncfusion/ej2-schedule ``` +### 7. Add CSS styles +Add the Styles in app/javascript/application.js -## 8. Add CSS styles -Add the Styles in app/javascript/application.js. - -import the necessary css styles from syncfusion documentatoion from the below link +Import the necessary css styles from syncfusion documentatoion from the below link ```bash https://ej2.syncfusion.com/documentation/schedule/getting-started ``` -## 9. Creation of event models -To Create the event model in your application use the below commands. +### 8. Creation of event models +Create a event folder to save the events in the database. ```bash rails generate model Event title:string start:datetime end:datetime description:text - rails db:migrate - +``` +To create a table in the database +```bash +rails db:migrate ``` -## 10. Create controller and Routes -To Create Events Controller + Routes use following commands. +### 9. Create controller and Routes +To Create the EventsController, which handles event-related routes and API actions used by the Syncfusion Scheduler. ```bash rails generate controller Events ``` -## 11. Creation of Home folder +### 10. Creation of Home folder Create the folder Home and index.html ```bash rails generate controller Home index @@ -144,11 +140,10 @@ Create the folder Home and index.html ## 12. Update the code in index.html Update the file app/views/Home/index.html or refer syncfusion documentation for different scheduler https://ej2.syncfusion.com/documentation/schedule/getting-started -```bash - +```bash
- - + +
@@ -171,7 +166,7 @@ Update the file app/views/Home/index.html or refer syncfusion documentation for
``` -## 13.Run the application +### 13.Run the application Run the application using the following command. ```bash rails server diff --git a/app/views/welcome/index.html.erb b/app/views/welcome/index.html.erb index b100af7..631ce18 100644 --- a/app/views/welcome/index.html.erb +++ b/app/views/welcome/index.html.erb @@ -1,6 +1,6 @@
- - + +
diff --git a/package.json b/package.json index 79e5fc7..501c305 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "dependencies": { "@rails/webpacker": "5.4.4", - "@syncfusion/ej2-schedule": "^32.1.22", + "@syncfusion/ej2-schedule": "*", "webpack": "^5.104.1", "webpack-cli": "^6.0.1" }, From 2f8aae9286083370eb56688a22a65ea3963f5873 Mon Sep 17 00:00:00 2001 From: Jai Chandran Ravichandran Date: Thu, 22 Jan 2026 10:16:42 +0530 Subject: [PATCH 4/5] This message contains the updated readme file of Ruby on Rails. --- README.md | 133 +++++------------------------------------------------- 1 file changed, 12 insertions(+), 121 deletions(-) diff --git a/README.md b/README.md index bbbd127..8be0a5c 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ howto.md A step-by-step guide to integrate Ruby on Rails with Syncfusion TS Scheduler --> -## How to Integrate Ruby on Rails with Syncfusion Scheduler +# How to Integrate Ruby on Rails with Syncfusion Scheduler This repository contains a sample full-stack application demonstrating how to display events in syncfuison Scheduler component using Ruby on Rails. ## Prerequisites @@ -18,11 +18,11 @@ This repository contains a sample full-stack application demonstrating how to di ├── test #Testing the functionality │ ├── events_controller_test.rb │ ├── schedule_controller_test.rb -├── app -│ ├── javascript #Main JavaScript entry point that initializes frontend behavior -│ │ ├── application.js -│ │ ├── controllers -│ │ │ ├── index.js +└── app + ├── javascript #Main JavaScript entry point that initializes frontend behavior + │ ├── application.js + │ ├── controllers + │ │ ├── index.js └── views ├── layouts │ ├── application.html.erb #Base HTML layout wrapping all views @@ -31,17 +31,17 @@ This repository contains a sample full-stack application demonstrating how to di ``` ## Project Setup -### Installation -1. #### Clone the project +## Installation +1. ### Clone the project Clone the project from the repository by creating a fork and branch. -2. #### Ruby setup +2. ### Ruby setup You can install the Ruby from the following link. [`https://www.ruby-lang.org/en/downloads/`](https://www.ruby-lang.org/en/downloads/) Then Install gem using below commands ``` gem install rails ``` -3. #### Install dependencies: +3. ### Install dependencies: ```bash npm install or @@ -60,117 +60,8 @@ This repository contains a sample full-stack application demonstrating how to di ## Output -![Frontend Preview](./SampleOutput.png) +![Frontend Preview](./Output.png) ## Troubleshooting - **Version error**: Check and install the current version as by prerequistes. -- **Port already in use**: Clear all the previous running applications in both browser and command prompt. - -## Creating Ruby on Rails Project With Syncfusion Scheduler - -### 1. Create your folder-directory. -Create a folder with your own application name. - -Run the below command in your project terminal to create a directory. -```bash - mkdir rails-ts-scheduler -``` - -### 2. Navigate to your folder. -```bash - cd rails-ts-scheduler -``` - -### 3. Creation of rails Project -Create a new rails project in your folder using the below command. -```bash - rails new . --webpack --database=sqlite3 -``` - -### 4. Create package.json file -To create package.json file use the following command. -```bash - bundle add jsbundling-rails -``` - -### 5. Add Scripts -To add esbuild scripts, app/javascript/application.js use the following command -```bash - rails javascript:install:esbuild -``` - -### 6. Installation of syncfusion dependencies -Install the syncfusion dependencies by the following commands. -```bash - yarn add @syncfusion/ej2-schedule - or - npm add @syncfusion/ej2-schedule -``` -### 7. Add CSS styles -Add the Styles in app/javascript/application.js - -Import the necessary css styles from syncfusion documentatoion from the below link -```bash - https://ej2.syncfusion.com/documentation/schedule/getting-started - -``` - -### 8. Creation of event models -Create a event folder to save the events in the database. -```bash - rails generate model Event title:string start:datetime end:datetime description:text -``` -To create a table in the database -```bash -rails db:migrate -``` - -### 9. Create controller and Routes -To Create the EventsController, which handles event-related routes and API actions used by the Syncfusion Scheduler. -```bash - rails generate controller Events -``` - -### 10. Creation of Home folder -Create the folder Home and index.html -```bash - rails generate controller Home index -``` - -## 12. Update the code in index.html -Update the file app/views/Home/index.html or refer syncfusion documentation for different scheduler - https://ej2.syncfusion.com/documentation/schedule/getting-started -```bash -
- - -
-
-
- -
-``` - -### 13.Run the application -Run the application using the following command. -```bash - rails server -``` - - - +- **Port already in use**: Clear all the previous running applications in both browser and command prompt. \ No newline at end of file From 07a3e499958cb5f1f7e442004a387ac0dd6cde94 Mon Sep 17 00:00:00 2001 From: Jai Chandran Ravichandran Date: Thu, 22 Jan 2026 17:52:52 +0530 Subject: [PATCH 5/5] This message contains the Updated output, Readme file and index.html --- Output.png | Bin 29590 -> 28511 bytes README.md | 8 ++++++-- app/views/welcome/index.html.erb | 6 +++--- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/Output.png b/Output.png index 259e083b6084e67d680698be2fd0c1b4310b1730..be6e1f932f9459a1ad35aeffe13997efde7e7fd1 100644 GIT binary patch literal 28511 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 G<^KT-fJwLj literal 29590 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