Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails 3,如何为项目添加操作_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails Rails 3,如何为项目添加操作

Ruby on rails Rails 3,如何为项目添加操作,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我有一个显示应用程序中所有项目的项目索引视图 我希望该视图显示登录的用户是否为成员 在项目索引视图中,我有: <% if teammember? %> <td>Request to Join</td> <% else %> <td>Already Joined</td> <% end %> 但这给了我一个未定义的方法“teammember?”如果控制器中没

我有一个显示应用程序中所有项目的项目索引视图

我希望该视图显示登录的用户是否为成员

在项目索引视图中,我有:

    <% if teammember? %>
        <td>Request to Join</td>
    <% else %>
        <td>Already Joined</td>
    <% end %>
但这给了我一个未定义的方法“teammember?”

如果控制器中没有包含teammember方法,则将其放在助手文件app/helpers/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 %>

如果这是您需要在视图中访问的控制器方法,则可以如下所示使其可用:

class ProjectsController < ActionController::Base
  helper_method :team_member?
end
这与您在helpers/projects\u helper.rb中定义的方法基本相同

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

请确保调用的方法相同:您的示例显示一个带问号,另一个不带问号。

谢谢,这更有意义。rails 3是如何检查用户是否是团队成员的?如果记录存在,则在权限表中定义。如果记录不存在,则为true。权限项目id,用户id。谢谢