私のアプリには、管理サブフォルダーとコントローラーがあり、メソッドは次のとおりです。
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>
だから私はモデルのメソッドに行きませんでした...どうすればモデルメソッドにアクセスできますか?