我是 Rails 和正则表达式的新手。我正在尝试制作一个应用程序,用户可以在其中注册两种类型的电子邮件地址之一:user@a.edu 或 user@b.edu。我正在制作一个页面,显示所有不是当前用户类型的用户。例如,jason@a.edu 已登录,页面将显示所有类型 b 的用户。如果 lauren@b.edu 已登录,该页面将显示所有类型 a 的用户。我正在尝试使用正则表达式根据电子邮件地址了解登录的用户类型,并在用户单击链接时动态生成页面。我在模型中创建了这个方法:
def other_schools
if /.+@a\.edu/.match(current_user.email)
User.where(email != /.+@a\.edu/)
else
render :text => 'NOT WORKING', :status => :unauthorized
end
end
这是控制器:
def index
#authorize! :index, :static_pages
@users = current_user.other_schools
end
这是显示每个用户的视图:
<% @users.each do |user| %>
<li class="span3">
<div class="thumbnail" style="background: white;">
<%= image_tag "idea.jpeg" %>
<h3><%= user.role %></h3>
<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
<a class="btn btn-primary">View</a>
</div>
</li>
<% end %>
视图只是循环通过@user 对象。当我尝试加载页面时,我被告知有一个未定义的局部变量或方法“current_user”。我该如何解决?