Я использую Rails 4.2.3. Я хочу иметь вкладками меню на моей странице администратора входа в систему, так что я добавил следующее мое приложение/контроллеры/admin_controller.rb файл ...Получение неопределенного метода, хотя я определил его в своем контроллере
class AdminController < ApplicationController
before_filter :must_be_admin, only: :index
def index
@page_id = "index"
end
def menu_builder(page_id)
tabs = ['Current Hacks','Add New Hack','Approve Hacks']
content = ""
tabs.each do |tab|
content << if page_id == tab
content_tag('li', content_tag('a', tab, :href => nil), :class => 'current') + " "
else
content_tag('li', content_tag('a', tab, :href => "/#{tab}")) + " "
end
end
content
end
Вот что у меня в приложение/просмотров/админ/индекс .html.erb файл ...
<h1>Admin#index</h1>
<ul>
<%= menu_builder(@page_id) %>
</ul>
Однако, когда я посещаю мою страницу/админ/указательный, я получаю эту ошибку
undefined method `menu_builder' for #<#<Class:0x007f861bfe9900>:0x007f861bff36f8>
Где я буду неправильно?
метод, определенных в Contro llers - это фактически действия, поэтому вы не можете определить метод в контроллере, который передает параметры. Вам нужен помощник для 'menu_builder (page_id)' –