2010-09-18 44 views
2

一个动作我有一个项目索引视图显示在应用的Rails 3,如何添加项目

我想这个观点显示,如果登录的用户是成员或不是所有的项目... 。

在项目索引视图我有:

<% if teammember? %> 
     <td>Request to Join</td> 
    <% else %> 
     <td>Already Joined</td> 
    <% end %> 

然后在项目的控制器我有

def teammember(projectid) 
do some stuff..... 
end 

但是,这给了我一个“未定义的方法”团队成员?

回答

4

您不包括在控制器中teammember方法,你把在帮助文件(应用程序/佣工/ project_helper.rb)

module ProjectHelper 
    def team_member?(project_id) 
    # include other logic here 
    true 
    end 
end 

然后在你的项目控制器再现,你的任何视图可以这样做:

<% if team_member?(project.id) %> 
    This is a team member. 
<% else %> 
    This isn't a team member. 
<% end %> 
+0

谢谢你,更有意义。用什么方式检查用户是否是团队成员?如果记录存在true,则在权限表中定义,如果不是false。权限(proejct_id,user_id)。谢谢 – AnApprentice 2010-09-18 01:17:12

1

如果这是你需要在视图访问控制器的方法,你可以把它提供这样的:

class ProjectsController < ActionController::Base 
    helper_method :team_member? 
end 

这基本上是一样的,如果你已经定义的方法helpers/projects_helper.rb

只要确保你调用的方法是一样的:你的例子显示了一个带有问号,一个没有。

相关问题