我需要一些帮助,使用do阻止返回错误的生成链接。我知道这是一个简单的修复,但我似乎无法弄清楚,因为我对于我这么裸露的rails非常陌生。Rails阻止返回用户而不是合作伙伴
我正在构建维基百科的应用程序克隆,其中有wiki,用户和现在的合作者。这个克隆是用于项目教程的,但在视图中实现协作者的具体步骤让我感到困惑。通过下面的代码,我得到了当前用户的用户#show上生成的链接。 我真正需要的是当前用户是协作者的维基列表。
让我知道是否需要其他代码来帮助解决此问题,并提前感谢您的帮助。
用户显示视图
<div class="col-sm-4">
<div class="col-md-4">
<% @collaborator.each do |collaborator| %>
<div class="row">
<ul>
<li><%= link_to collaborator %></li>
</ul>
</div>
<% end %>
</div>
</div>
用户控制器
def show
@user = User.find(params[:id])
@wikis = @user.wikis
@wiki = Wiki.find(params[:id])
@collaborators = Collaborator.all
@collaborator = @wiki.collaborators.find_by(:user_id => current_user.id)
end
用户模型
class User < ActiveRecord::Base
has_many :wikis
has_many :collaborators
has_many :collaborating_wikis, through: :collaborators, foreign_key: "wiki_id", class_name: "Wiki"
validates :wiki_id, presence: true
end
wiki模式
class Wiki < ActiveRecord::Base
belongs_to :user
has_many :collaborators
has_many :users, through: :collaborators
validates :user_id, presence: true
end
合作者型号
class Collaborator < ActiveRecord::Base
belongs_to :user
belongs_to :wiki
validates :wiki_id, :user_id, presence: true
validates :wiki_id, uniqueness: { scope: [:wiki_id, :user_id] }
end
嗨塔克,这将是有一个链接到GitHub库真正有用的,所以我可以克隆下来回购,并有一出戏。 – Andy
你上面的代码在'@ collaborator'上执行'each'循环,而不是'@ collaborators'。 –