0
Je veux créer des actions de manière dynamique, quelque chose comme le suivant.Créer des actions hors de la collection
Mais comme le code est dans une méthode que je reçois l'erreur suivante: « variable locale définie ou méthode »
Est-ce possible, et si oui - comment?
class Post < ActiveRecord::Base
CATEGORIES = [:music,:movies,:art,:jokes,:friends,:whatever].freeze
end
class PostsController < ApplicationController
Post::CATEGORIES.each do |category|
eval <<-INDEX_LIKE_ACTIONS
def #{category}
@posts = Post.where(category: '#{category}')
render :index
end
INDEX_LIKE_ACTIONS
end
end
resources :posts do
collection do
Post::CATEGORIES.each {|category| get category.to_s}
end
end
Je doute votre besoin de méthode distincte pour chaque catégorie si tout ce que vous faites est rendu sur l'index. Si c'est plus compliqué que cela, alors cela pourrait être nécessaire. – DickieBoy