I have an action in a controller concern, which gets included in a controller. This action does not render a js.erb file as specified under a respond_to block. How do I properly get an action in a controller concern to successfully render a js.erb file (or any view, for that matter)? Is it a problem with my routes?
The link for the module action
= link_to image_tag("upvote.png"),
send("vote_socionics_#{votable_name}_path", votable, vote_type: "#{s.type_two_im_raw}"),
id: "vote-#{s.type_two_im_raw}",
method: :post,
remote: true
** The link for the controller action**
= link_to "whatever", characters_whatever_path, remote: true
controllers/characters_controller.rb
class CharactersController < ApplicationController
include SocionicsVotesConcern
def an_action
respond_to do |format|
format.js { render 'shared/vote_socionics' } # This renders/executes the file
end
end
controllers/concerns/socionics_votes_concern.rb
module SocionicsVotesConcern
extend ActiveSupport::Concern
def vote_socionics
respond_to do |format|
format.js { render 'shared/vote_socionics' } # This DOES NOT render/execute the file. Why?
end
end
end
views/shared/whatever.js.erb
# js code that executes
routes.rb
concern :socionics_votes do
member do
post 'vote_socionics'
end
end
resources :universes
resources :characters, concerns: :socionics_votes
resources :celebrities, concerns: :socionics_votes
resources :users, concerns: :socionics_votes
ApplicationController
? – Duthiewrong argument type Class (expected Module)
– Botti