2012-06-13 2 views
0

Я контроллер я создал для Завещания, что я хочу использовать, чтобы добавить еще несколько страниц внутри/изобрести/регистрация/Разрабатывают камень и пользовательские constroller

class RegistrationsController < Devise::RegistrationsController 
    skip_before_filter :detect_account_ended 

    def import 
    @title = "Import customers from Quickbooks" 
    end 

    def categories 
    @title = "Edit Categories" 
    @categories = current_user.categories 

    respond_to do |format| 
     format.html # index.html.erb 
     format.json { render json: @categories } 
    end 
    end 

    protected 

    def after_update_path_for(resource) 
     edit_user_registration_path 
    end 
end 

Я создал маршруты

devise_for :users, 
    :path_names => { 
     :sign_up => "register", 
     :destroy => "logout" }, 
    :controllers => { 
     :registrations => :registrations } do 
     get '/users/sign_out' => 'devise/sessions#destroy' 
     get '/users/import' => 'devise/registrations#import' 
     get '/users/categories' => 'devise/registrations#categories' 
    end 

И взгляды. Представления отображаются правильно, но объекты, которые я передаю из контроллера регистрации, не отображаются в представлениях. Как исправить это, чтобы эти объекты были переданы моим представлениям?

+0

Я думаю, что ваше имя контроллера должно быть строкой: ': registrations => 'registrations'' –

+0

Изменено, еще не повезло – bcackerman

ответ

0

Попробуйте получить доступ к ним непосредственно в поле зрения, как это:

current_user.categories 

Как current_user доступен в представлениях тоже, как для @title, вы не должны передать его в качестве переменной, как вы можете добавить текст, который вам нужен прямо в представлении.

+0

Хорошо, я попробую. Вы случайно не знаете, когда он не передается от контроллера? – bcackerman

+0

Вы пытались оценить переменные? доза @ title.nil? return true? – simo

+0

Да, на мой взгляд, у меня есть '<% if @ categories.nil? %> Нет <% else %> Перечислите их код <% end %> 'и ничего не появится, что хорошо, за исключением того факта, что если я войду в консоль и наберу' User.find (25) .categories' (из которых 25 - мой идентификатор пользователя) , Я получу список категорий, поэтому я знаю, что они там ... – bcackerman

Смежные вопросы