0
Ich möchte einige Aktionen dynamisch erstellen, etwa wie folgt.Erstellen Sie Aktionen aus der Sammlung
Aber wie der Code ist nicht in einer Methode, die ich die folgende Fehlermeldung erhalten: „undefiniert lokale Variable oder Methode“
Ist das überhaupt möglich ist, und wenn ja - wie?
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
Ich würde Ihre Notwendigkeit für separate Methode für jede Kategorie in Frage stellen, wenn alles, was Sie tun, um die Indexansicht ist Rendering. Wenn es komplizierter ist, dann könnte es notwendig sein. – DickieBoy