Ruby on rails 将值从视图传递给辅助对象
我有以下表格:Ruby on rails 将值从视图传递给辅助对象,ruby-on-rails,ruby-on-rails-3,view,helper,Ruby On Rails,Ruby On Rails 3,View,Helper,我有以下表格: projects users projects_users <- relational table …这意味着“@project.id”或“current_user.id”为零。在本例中,我非常确定@project.id为零,并且它实际上没有传递给助手 如果我是对的,我如何将其传递给助手? 如果我错了,有什么问题 视图: 1. <% @projects.each do |project| %> 2. <div class="project_c
projects
users
projects_users <- relational table
…这意味着“@project.id”或“current_user.id”为零。在本例中,我非常确定@project.id为零,并且它实际上没有传递给助手
如果我是对的,我如何将其传递给助手?
如果我错了,有什么问题
视图:
1. <% @projects.each do |project| %>
2. <div class="project_container">
3. <% if check_if_member %>
4. <% if project.user_id == current_user.id %>
5. <div class="users_project label label-success">
6. Owner
7. </div>
8. <% else %>
9. <div class="not_users_project label label-info">
10. Member
11. </div>
12. <% end %>
13. <div class="project_name_div">
14. <%= link_to (project.title), project_path(project) %><br />
15. </div>
16. <% else %>
17. <div class="project_name_div">
18. project.title <br />
19. </div>
20. <% end %>
21. </div>
22. <% end %>
module ProjectsHelper
def check_if_member
if ProjectsUser.where("project_id = ? AND user_id = ?", @project.id, current_user.id)
return true
else
return false
end
end
end
明确通过
def check_if_member project, user
ProjectsUser.where("project_id = ? AND user_id = ?", project.id, user.id).count > 0
end
然后
“为nil.调用id”是在您调用@variable.id且@variable为nil时生成的。这与调用variable.id且未定义变量时不同。
def check_if_member project, user
ProjectsUser.where("project_id = ? AND user_id = ?", project.id, user.id).count > 0
end
<% if check_if_member(project, current_user) %>