在我的应用程序中,我有 admin 子文件夹和控制器,以及方法:
class Admin::UserGroupsController < ApplicationController
def index
@pre_usergroups = UserGroup.all
@user_groups = Kaminari.paginate_array(@pre_usergroups).page(params[:page]).per(50)
render :layout => 'admin'
end
end
路线:
namespace :admin do
resources :user_groups
end
和模型(不在子目录 admin 中):
class UserGroup < ActiveRecord::Base
attr_accessible :group_id, :user_id
belongs_to :group
belongs_to :user
validates :user_id, :presence => {:message => I18n.t(:user_not_chosen)}
validates :group_id, :presence => {:message => I18n.t(:group_not_chosen)}
def get_group_name(id)
@gr = Group.find(id)
@gr.name
end
def get_user_name(id)
@user = User.find(id)
@user.email
end
end
我也没有看到验证消息,它正在工作....它跳过验证:
并查看:
%table.table.table-striped
%tr
%th
Название группы:
%th
Пользователь:
-@user_groups.each do |u|
%tr
%td
= u.get_group_name(group_id)
%td
= u.user_id
但为什么我得到
undefined local variable or method `group_id' for #<#<Class:0xb352734>:0xab437dc>
所以我没有去模型中的方法......我如何访问模型方法?