Ich brauche Hilfe mit einem Do-Block, der den falsch generierten Link zurückgibt. Ich weiß, dass es eine einfache Lösung ist, aber ich kann es mir nicht vorstellen, da ich ziemlich neu bei Schienen bin, die so einfach mit mir sind.Rails blockieren wiederkehrenden Benutzer und nicht Mitbearbeiter
Ich baue eine App Klon von Wikipedia, wo es Wikis, Benutzer und jetzt Kollaborateure gibt. Dieser Klon ist für ein Projekt-Tutorial gedacht, aber der spezifische Schritt der Implementierung von Kollaborateuren in die Ansicht verwirrte mich. Mit dem unten angegebenen Code erhalte ich einen generierten Link in meinem Benutzer # show des aktuellen Benutzers. Was ich wirklich brauche, ist eine Liste von Wikis, wo der aktuelle Benutzer der Kollaborateur ist.
Lassen Sie mich wissen, ob ein anderer Code benötigt wird, um bei der Fehlerbehebung zu helfen, und ich danke Ihnen im Voraus für jede Hilfe.
Benutzer Sicht anzeigen
<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>
Benutzer-Controller
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
Benutzermodell
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 Modell
class Wiki < ActiveRecord::Base
belongs_to :user
has_many :collaborators
has_many :users, through: :collaborators
validates :user_id, presence: true
end
Collaborator Modell
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
Hallo Tucker, wäre es sehr nützlich sein, einen Link auf die GitHub Repo zu haben, so dass ich den Repo-Klon nach unten und ein Spiel haben. – Andy
Ihr Code oben macht eine 'each' Schleife auf' @ collaborator', nicht '@ collaborators'. –