Я хотел бы вызвать js.erb из моего link_to
Я пробовал это:
<% @categories.each do |category| %>
<tr><td>
<%= link_to category, :controller => "movies", :action => "show_category", :category => category, :method => :post, :remote => true%>
</td></tr>
<% end %>
Это мой полный routes.rb
файл:
Rails.application.routes.draw do
resources :movies
devise_for :users
# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
root to: "movies#index"
post '/movies/show_category', to: 'movies#show_category', as: 'show_movies_by_category'
end
Это моя целевая функция в movies_controller
. Я бы хотел, чтобы ее вызывали при нажатии link_to
(насколько я понимаю из этой функции, я мог бы вызвать show_category.js.erb
файл Javascript):
def show_category
respond_to do |format|
format.js {render layout: false}
end
end
Но вместо вызова movies_controller#show_category
, похоже, вызывается movies_controller#show
. Вот что я вижу в моей консоли Rails:
Started GET "/movies/show_category?category=Romance&method=post" for 127.0.0.1 at 2019-01-06 13:41:47 +0530
Processing by MoviesController#show as JS
Parameters: {"category"=>"Romance", "method"=>"post", "id"=>"show_category"}
Movie Load (0.4ms) SELECT "movies".* FROM "movies" WHERE "movies"."id" = ? LIMIT ? [["id", 0], ["LIMIT", 1]]
↳ app/controllers/movies_controller.rb:87
Completed 404 Not Found in 6ms (ActiveRecord: 0.4ms)
ActiveRecord::RecordNotFound (Couldn't find Movie with 'id'=show_category):
app/controllers/movies_controller.rb:87:in `set_movie'
Что я здесь не так делаю?