Passing values from Ruby on Rails to JavaScript: a comprehensive guide

Is there a way to pass the value from <%= controller.controller_name %> <%= controller.action_name %> to JavaScript in the following manner?

return (document.body.className += " load-done 
            '<%= controller.controller_name %>' '<%= controller.action_name %>'
        ");

I have tried this setup but unfortunately, it does not seem to be working. Any suggestions on how to make this work?

Answer №1

If you're looking to transfer data from the controller to your JS code, there are different methods to consider. One option is to make a direct call to the controller through an HTTP request and receive the response in JSON format. Another approach is to store the data as a class variable and access it within the views section of your HTML files. By assigning the variable to a div, span, or other element, you can then retrieve it in your JavaScript by targeting the corresponding HTML tag like this:

# controllers: 

def some_controller_method
  @temp = 'example data, could be any type'
end

# views
<%= content_tag :div, class: "some_class", data: {temp: @temp} do %>
<% end %>

# JS
$('.some_class').data('temp')

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Show off beautiful text using a styled pre component in a React application

I've been attempting to highlight specific text within a React pre element, but unfortunately, it doesn't seem to be working as expected. Instead of displaying the highlighted text, it shows [object Object]. const Text = styled.pre ` col ...

What is the reason that an individual would stop another from executing by using $(document).ready(function() { ?

While I understand that it's supposed to be possible to run multiple $(document).ready(function() { on my page, for some reason I'm having trouble doing so. I appreciate those who have pointed out that it should work, but I'm really looking ...

Currently, I am experiencing difficulties with two specific aspects of the website I am working on - the hamburger menu and the slideshow feature

I'm having trouble with the menu on my website. It's not functioning as expected - the dropdown feature isn't working, and two items are not staying in the correct position under the parent ul despite attempts to position them using CSS. Add ...

Utilized AES 256 encryption with a surprising input

Attempting to implement AES-256 encryption using JavaScript and CryptoJS.AES.encrypt, I was hoping to achieve the same result as the PHP code. However, I not only received an incorrect answer but also encountered inconsistent string lengths. Below is my J ...

Update a div in PHP using the data received from an AJAX response

I recently developed a PHP application and encountered an issue with updating the value of a date picker. The user is prompted for confirmation when changing the date, and upon confirmation, the date in the "expiry" field (with id expiry) should update alo ...

Detecting Specific Web Browsers on My Website: What's the Best Approach?

My website is experiencing compatibility issues with certain browsers, such as Firefox. I want to display a message when users visit the webpage using an unsupported browser, similar to how http://species-in-pieces.com shows a notification saying "Works ...

Is there a way to eliminate duplicate elements from 2 arrays in Angular?

Imagine I have a scenario with two arrays: arr1 = ["Tom","Harry","Patrick"] arr2 = ["Miguel","Harry","Patrick","Felipe","Mario","Tom"] Is it possible to eliminate the duplicate elements in these arrays? The desired output would be: arr2 = ["Miguel"," ...

What are the steps to utilizing three.js effectively?

I am currently working on a project that involves using three.js. I have been trying to learn the basics and wrote this simple code just to test it out. However, when I try to view it in the web browser, nothing appears. Here is my code: <!DOCTYPE htm ...

Error message in Linux for NodeJS global NPM package: "File or directory does not exist"

After setting up my Ubuntu 14.04 system, I installed nodejs and npm using the command: sudo apt-get install nodejs npm To ensure packages utilize the node interpreter instead of nodejs, I created a symlink with: sudo ln -s /usr/bin/nodejs /usr/local/bin ...

Require transforming JSON formats

Hello, I am facing some challenges when it comes to working with JSON. Using an AJAX request, I am attempting to retrieve a large JSON string from the following link: my JSON The AJAX code is as follows: var $xhr; function loadContent(href){ var hr ...

JavaScript code that triggers a page refresh when an input is added to a form without actually inputting

Upon delving into extensive research on this particular subject, I regrettably came up empty-handed. My sincere apologies if this question has been posed before. The task at hand involves creating a form that prompts users to input information about four ...

The error you are seeing is a result of your application code and not generated by Cypress

I attempted to test the following simple code snippet: type Website = string; it('loads examples', () => { const website: Website = 'https://www.ebay.com/'; cy.visit(website); cy.get('input[type="text"]').type(& ...

Disregard the instructions upon loading the page

I've implemented a directive to automatically focus on the newest input field added to my page. It works well, but there is one issue - when the page loads, the last input is selected by default. I want to exclude this behavior during page load and in ...

Issues with Django Site Search Functionality

Currently working on a Django project, I have encountered an issue with the search bar on my localhost site. Despite adding the search bar, it fails to return any results when provided input. Upon inspecting the page source, I discovered some unfamiliar li ...

What is the best way to incorporate a JavaScript file into a webpage specifically for browsers that are using IE 7 or an earlier version?

Is there a way to dynamically include a Java Script file depending on a certain condition? For instance, I am looking for a solution to incorporate a JavaScript file that provides JSON support specifically when the user's browser is Internet Explorer ...

Fastest method to verify if two arrays share identical values in JavaScript

Is there a more efficient way to determine if two arrays have the same values in JavaScript? The current method I am using is functional but quite lengthy. Here is how I am checking: let arraysAreDifferent = false; array1.forEach(item => ...

Ensuring Data Integrity with JavaScript Form Validation

Ensure that if text box A is filled in, text box B must also be filled in before submitting. Vice versa, if text box B is filled in, make sure text box A has data as well. Is it possible to loop this check for multiple text boxes? For example, if row A o ...

Every time Lodash.uniqueId is called, it consistently generates the value of

Consider using the lodash library, specifically version 4.17.11. _.uniqueId() seems to consistently output 1 instead of a random three-digit number. Similarly, _.uniqueId('prefix') always returns prefix1. Do you see this as a potential issue? ...

"HTML and JavaScript: The search functionality fails when trying to search for a string that is sourced from an array

Could someone assist me with a comparison issue I'm encountering? I am trying to use the includes() method to compare a list in a table with a list of names stored in a string. Strangely, when I hardcode the string directly into the includes() method, ...

When attempting to call a bundle file using browserify from React, an unexpected character '�' Syntax error is thrown: react_app_testing/src/HashBundle.js: Unexpected character '�' (1:0

Hey there, I'm currently struggling with an unexpected unicode character issue. Let me provide some context: I've created a simple class called HashFunction.js that hashes a string: var crypto = require('crypto') module.exports=class H ...