ruby-on-rails-4,session-cookies,form-submit,session-state , Invalid form submission clears session in Rails 4

Invalid form submission clears session in Rails 4


Tag: ruby-on-rails-4,session-cookies,form-submit,session-state

I'm using a session to auto fill the first half of a form in Rails 4. The first time a customer submits a form (featuring their details and product details), the customers details are stored into a session. Upon subsequent forms (additional orders), the customer's details are pulled from the session and only the product details are required.

However, if an invalid form is submitted (i.e. when the form is empty but has required fields), when a new form is generated upon submission failure the customer details are no longer pulled from the session.

Upon investigating, it seems that the session itself is not getting cleared, as if I navigate off to a different url, and then come back to the form, the customer details are once again filled. Could it be something to do with how I generate my new form upon failure? My controller methods are shown below:

(reduced for brevity)

def new
  @order =
  @current_customer = Customer.find_by_id(session[:current_customer])
  if @current_customer
    @order.customer = @current_customer

def create
  @order =
  @current_customer = Customer.find_by_id(session[:current_customer])
  if current_customer
    @order.customer = current_customer
    # Submit Success
    session[:current_customer] =
    redirect_to thankyou_path(@order)
    # If submission fails
    render :new

Thank you


Yes it looks like you dropped the '@' in a couple of places in your Create action:

if current_customer
  @order.customer = current_customer

Should be:

if @current_customer
  @order.customer = @current_customer


How do I setup a multi-option voting system using acts-as-votable?

I want to use acts-as-votable to implement a voting system where I can supply multiple custom options - e.g. 5 buttons ('blue', 'red', 'green', 'grey', 'white'). I want my users to be able to choose only 1 of those colors, but I would like to be able to tally up...

Ruby if else statement one line not working

I have the following properly working line in a view that adds a class depending on the current_page of the user: <li class="hvr-bottom <%= 'active' if current_page?(root_path) %>"> <%= link_to "Home", root_path %> </li> Now I would also like to add a different class for the else situation, and I...

Seeding fails validation for nested tables (validates_presence_of)

An Organization model has a 1:many association with a User model. I have the following validation in my User model file: belongs_to :organization validates_presence_of :organization_id, :unless => 'usertype==1' If usertype is 1, it means the user will have no organization associated to it. For a different usertype the presence of...

Rails routing link to specific show

This question seems a little basic, but considering I have 'pages#show' with a show page with url 'history'. How could I add this specific show page to a link: = link_to 'History', pages_path(@?????) PD1: I would prefer avoid using :id since I tend to seed a lot of data, and...

Stack level too deep because recursion

I have a model named Tweet. The columns of the Tweet model are: -id -content -user_id -picture -group -original_tweet_id Every tweet can have one or multiple retweets. The relation happens with the help of original_tweet_id. All the tweets have original_tweet_id nil , whilst the retweets contain the id of the...

rendering the partials in controller after the validation check

I have two partial views for two different sign up forms. On my home page , based on the link one clicks on, I'm rendering respective form.(views/application/index) = link_to 'Mentor', new_user_path(user_role: true), :class =>'btn' = link_to 'Mentee', new_user_path, :class =>'btn' In views/users/new.html.haml , I'm checking the user role and redirecting...

How to use Rails #update_attribute with array field?

Each question has an array of tags. schema.rb: create_table "questions", force: true do |t| t.text "tags", default: [], array: true How to atomically append to tags? How to prevent dups within the array? I tried question.update_attribute tags: tags << :ruby, but this doesn't work. Rails 4.17 and Postgres. EDIT: This...

Controller method: Contact form should render different page depending on where the form is used

I have a contact form on a special page dedicated to this form. The dedicated controller includes: def new @message = end def create @message = if @message.valid? MessageMailer.new_message(@message).deliver_now flash[:success] = "Thank you!" redirect_to contact_path else render 'new' end end Now I would also like to include this...

Order of including Helpers in ViewControllers

In rails app, how are helpers included in viewcontrollers, and what's the order of includion(which helper is included first, second, so on)? Also, are all helpers available to views? If so, does the inclusion order same as the view's corresponding controller?...

Devise emails are not being sent using sendgrid while other emails are being sent well

I am using sendgrid to send emails in production my all other emails are being sent as expected but all the devise emails are not being sent neither a crash occur my in my production.rb I have config.action_mailer.raise_delivery_errors = false config.action_mailer.default_url_options = { :host => '' } config.action_mailer.delivery_method = :smtp...

How to iterate data from database to become a radio button in template?

I am using Rails 4.2 and Ruby 2.1.5 Here is my radio button code of my new template: <%= form_for @api, :url => commons_path do |f| %> <div class="form-group"> <%= f.label :status, "Status", class: "col-sm-2 control-label" %> <div class="col-sm-8"> <%= f.radio_button :status, 'success' %> <%= label_tag(:status, "Success") %> <%= f.radio_button...

Javascript Changing Random Background Image Issue

I am on Rails 4, and finally got this javascript working. It changes randomly changes the background image every 10 seconds with a fadein fadeout effect. The only issue is every so often, an image will only load halfway... then it will start to flash and and get crazy. It...

How to avoid duplicates from saving in database parsed from external JSON file with sidekiq in Rails

I have a small To Do list in a .json file that I´m reading, parsing, and saving to a rails app with Sidekiq. Everytime I refresh the browser, the worker executes and duplicates the entries on the database. How do I maintain a unique database that is synchronized with the...

Rails 4 wicked_pdf generate blank pdf while generating from model

I'm trying to save pdf on server using rails model buts its generate a blank pdf. Earlier did it in controller without problem but now its creating a blank one. Any idea What's i did wrong? def generate_bulk_pdf view =, {}) view.extend(ApplicationHelper) view.extend(AbstractController::Rendering) view.extend(Rails.application.routes.url_helpers) students = Student.all.order('id ASC') students.each...

Rails add hash into existing hash

I would like to do smth like: a = a = {:profile => @user} a[:profile][:contacts] = a[:profile][:contacts] = @user.contacts.all but I am getting the error can't write unknown attribute `contacts'. @user is the result of a select from our database. I need to create a hash with this...

Sortable in Rails 4

I'm following Railcasts #147 using Rails 4 instead of 3. The method below is not passing in Rails 4. So far all, all is working except for updating the databse with the new sorted position. Any idea how I can mass update the records? def sort params[:faq].each_with_index do |id, index|...

adding link_to with image_tag and image path both

I am trying to replace the tag with link_to in my rails application view. for replacing I have svg icon, text and link all in one tag. Here is below <a class="navbar-brand" href="index.html"><%= image_tag 'logo.svg', "data-svg-fallback" => image_path('logo.svg'), :align=> "left" ,:style => "padding-right: 5px;" %> My Project </a> but I...

rails - NameError (undefined local variable or method while using has_many :through

My rails app gives following error: NameError (undefined local variable or method 'fac_allocs' for #): app/models/room.rb:4:in '' app/models/room.rb:1:in '' app/controllers/rooms_controller.rb:3:in 'index' room.rb file class Room < ActiveRecord::Base has_many :bookings has_many :fac_allocs has_many :facs, :through => fac_allocs end ...

Where is the defination of rails validators?

I am a beginner in rails. As I was working on rails validation, I wanted to know where is the definition of valid? and new_record? and all the validation helpers? I was trying to find the definition of all these functions but couldn't find any. Where do all this validations...

Rails, default.js is empty, and jquery and jquery_ujs not loaded

I am practicing ruby on rails by using rails guides. In the section 5.13 Deleting Articles they are showing how to create the delete (destroy) functionality. I followed the steps correctly, but the delete confirmation dialogue isn't shown and the articles are not getting deleted. When I checked the chrome...

adding background image in style rails 4

I am trying to add background image on my web page, it was working when I was using plane html, but now I am integrating it to my rails application. I am using this code to embed the image in my rails application <div class="jumbotron" style="background-image: "url(image-url('lines3.png')"; background-repeat: repeat-x; background-position:...

Using the Rails console to delete odd-numbered records

I'd like to delete records with odd numbered ID's from Hero table using the Rails console. Would someone be so kind as to suggest a way for me to do this? Kind Regards, Ryan...

Invalid form submission clears session in Rails 4

I'm using a session to auto fill the first half of a form in Rails 4. The first time a customer submits a form (featuring their details and product details), the customers details are stored into a session. Upon subsequent forms (additional orders), the customer's details are pulled from the...

Can't update existing records in Rails app

It appears that everything saves properly on my Rails 4 app (using simple_form) when I create a new event, but when I try to update an existing event (by going to events/3/edit), it doesn't save any of the changes. Here is my console log: Started PATCH "/events/3" for at...

ApplicationController helper method undefined in Rails

I'm trying to write a simple helper method that checks if a user's email address contains a specific domain name. The method is needed in all my controllers and depends on the state of current_user, so I felt the best place to put it would be in my ApplicationController. Depending...

Facing issue in edit-update action in nested form in rails4?

Hi I am using gem "nested_form" and included has_many association in my app sample code is : class Question < ActiveRecord::Base has_many :choices accepts_nested_attributes_for :choices end and in my controller have included this : class QuestionsController < ApplicationController before_action :set_questions, only: [:edit, :update] def edit end def update if @question.update_attributes(question_params)...

rails has_many at least one children has the value

Let say I have a Group of Users and User has a enum, which described it's mood. class Group < AR::Base has_many :users class User < AR::Base belongs_to :group enum mood: %i(good bad ugly) How can I find all groups, where at least one User has the good mood? Which...

Redirect to edit page automatically if record exists

I want to create a new record if it not exist. Otherwise, redirect to edit page automatically. In case the record exists (e.g: @sale is not nil). However, I got error message: app/views/sales/_form.html.erb where line #1 raised: First argument in form cannot contain nil or be empty Please show place...

Rails Association Guidance [on hold]

I am new to rails 4. I have gone through lots of tutorials and trying to solve below scenario. But still no success. Can anybody point me in the right direction. How to handle associations for below scenario. Scenario: 1. Patient can have many surgeries. 2. Surgery has two types...

How to limit access in Amazon S3 files to specific people?

I work on a SaaS application where Creators can create Groups and invite others to their Group to share files, chat and so on. Only people within specific group should have access to this group's files. People from other group must not have access to not their group's files. And...

Rails 4 - Javascript - trouble with .not()

Can someone tell me what is wrong in this Javascript ? It's supposed to show an alert "already opened" if there's plus (or) 2 PP div with a class "open". if ($('PP').not('.closed')>=2) { window.alert('already opened'); } ...

Multiple many-to-many association between two models

I've created a many to many relation ship like the following structure. Class User has_many :companies, :through => company_admins has_many :company_admins end Class Company has_many :company_admins has_many :users, :through => company_admins end Class CompanyAdmin belongs_to :company belongs_to :user end Here, User can be assigned as admin on many Company. Now...

How to send nested data in response , rails4?

I am using rails 4. I have a two models- "Company" & "Employees". Company has_many employees. I want to fetch the company and get all the employees in its nested dictionary in API like this, {"Company":{"name":"companyName", "total_employees":1000000, "Employees":[{"name":"xyz"}, {"name":"abc"}]} In company controller I tried respond_with(Company.for( In company model scope :for,...

Make instance variable accessible through hash in Ruby

In Rails, ActiveRecord objects, attributes are accessible via method as well as through Hash. Example: user = User.first # Assuming User to be inheriting from ActiveRecord::Base # Accessing attribute 'name' via method user[:name] # Attribute 'name' is accessible via hash as well How to make instance variables accessible through...

implement has_many through association in rails 4

I am working with has_many :through association in Application. I implement association between models like :- in employee.rb class Employee < ActiveRecord::Base has_many :inventories, through: :employee_inventories end in inventory.rb class Inventory < ActiveRecord::Base has_many :employees, through: :employee_inventories end in employee_inventories.rb class EmployeeInventory < ActiveRecord::Base belongs_to :employee belongs_to :inventory end I...

Trouble in RSpec test - saving parent record twice

I'm new at Rails programming, and my RSpec test is failing when trying to save nested records. The logs from the test suggest that ActiveRecord is trying to save the parent twice, which results in a silent database save failure. sign_up_spec.rb (sorry for the omission!) require 'rails_helper' RSpec.feature "Accounts", type:...

Rails shared controller actions

I am having trouble building a controller concern. I would like the concern to extend the classes available actions. Given I have the controller 'SamplesController' class SamplesController < ApplicationController include Searchable perform_search_on(Sample, handle: [ClothingType, Company, Collection, Color]) end I include the module 'Searchable' module Searchable extend ActiveSupport::Concern module ClassMethods def...

Migrate from existing password_digest column?

I have a custom User model with lots of rows. I have a password_digest column that I want to keep. (it comes from has_secure_password) And I also want to use Devise database authenticatable, but from my limited knowledge on Devise, I have to use the encrypted_password column. Is there a...

How to validate in database for uniqueness?

I am using Rails 4.2 with Ruby 2.1.5. Here is my API table: create_table "apis", force: :cascade do |t| t.string "name" t.datetime "created_at" t.datetime "updated_at" t.string "status" t.string "coname" end How do I validate that a user cannot create an API with the same name and same status twice? For...

On rendering from controller, current_page method does not seem to work

I have a navigation bar included in application.html.erb. Because for some pages, such as the signup page, I need to place additional code inside the navigation bar, I have excluded those pages for showing the navigation bar through application.html.erb and instead included it in their respective view pages. See code...

Showing and editing has_many objects in Rails

I'm trying to do something that I imagine to be very basic, but I'm very new to Rails and am not sure what sure what I'm doing wrong. I've gone through several tutorials and searched for an answer and can't find what the issue is. Would appreciate any help! I've...

Why isn't the format date of the Rails view being properly displayed with the initializer?

On my view view, I have the following format I want to output: <tr> <th>Released:</th> <td> <%= movie.release_at.to_s(:release_date) %> (<%= time_ago_in_words(movie.release_at) %>) </td> </tr> The exact format I want is "Month Day, Year", so I created an initialize file with the following: Date::DATE_FORMATS[:default] = "%B %e, %Y" My database schema...

Styling navbar: interaction between different styling settings

I'm having problems with styling my navigation bar, specifally the drop-down menu within the navigation bar. The two li elements below (the ones linking to "Profile" and "Edit profile" don't show up right. As you can see I have added the class my-dropdown-item in two different manners, both with the...

Mongoid HABTM relationships across embedded documents

I'm trying to create a Mongoid N-N reference association between two embedded documents in Rails 4 however I'm finding it difficult to get my head round how this is done. I started by adding the HABTM association to the relevant models below (Track and Option) but of course I'm getting...

Error when trying to install app with mysql2 gem

Im trying to install an open source rails 3.2.21 application that uses the mysql2 gem, but when i try and run the bundle commant I get the following error: Fetching: mysql2-0.3.18.gem (100%) Building native extensions. This could take a while... p ERROR: Error installing mysql2: ERROR: Failed to build gem...

Rails - How to find tilt version?

Gem tilt is used with sprockets for Rails assets precompile. We are having hard time to find the version running on our Rails 4 app as tilt --version returns version unknown: $ tilt --version tilt: version unknown tilt --help give no info about how to find version. Is there way...

How to exclude guest users from getting emailed Rails 4 Devise

Just set up my first mailer on Rails 4. I have a welcome email sent to new users as soon as they sign up (create) for a new account using devise. I also have devise set up so that if a current_user is not found, a guest user will be...

Redirect Loop on Heroku with Rails 4 App, but not on local machine

App running Ruby 2.2.2, Rails 4.2.1 When I run my app locally everything is fine. It was running fine on heroku until I made some updates. Now all I get in a browser is "Err too many redirects" from Chrome, or "Too many redirects..." in Safari. Even after I rolled...

Get X days out of an Array

I have an array filled with Datetime objects: [Mon, 22 Jun 2015, Tue, 23 Jun 2015, Wed, 24 Jun 2015, Thu, 25 Jun 2015, Fri, 26 Jun 2015, Sat, 27 Jun 2015, Sun, 28 Jun 2015] I know how to select what I want from the array ex:{|x|x.monday? ||...