0
Я хочу создать некоторые действия динамически, что-то вроде ниже.Создание действия вне коллекции
Но как код не в методе я получаю следующее сообщение об ошибке: «неопределенная локальная переменная или метод»
Является ли это вообще возможно, и если да - то как?
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
Я бы вопрос вашу потребность отдельного метода для каждой категории, если все, что вы делаете, это делает вид индекса. Если это сложнее, то это может потребоваться. – DickieBoy