首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails 3教程第11章跟随/取消跟随按钮不显示HTML

Rails 3教程第11章跟随/取消跟随按钮不显示HTML
EN

Stack Overflow用户
提问于 2012-05-19 14:13:51
回答 1查看 525关注 0票数 1

这是我的show.html.erb文件。

代码语言:javascript
复制
<% provide(:title, @user.name) %>
<div class="row">
    <aside class="span4">
        <section>
            <h1>
                <%= gravatar_for @user %>
                <%= @user.name %>
            </h1>
        </section>
        <section>
            <%= render 'shared/stats' %>
        </section>
    </aside>
    <div class="span8">
        <%= render 'follow_form' if signed_in? %>
    <% if @user.microposts.any? %>
      <h3>Microposts (<%= @user.microposts.count %>)</h3>
      <ol class="microposts">
        <%= render @microposts %>
      </ol>
      <%= will_paginate @microposts %>
    <% end %>
  </div>
</div>

_follow.html.erb部分文件:

代码语言:javascript
复制
<%= form_for(current_user.relationships.build(followed_id: @user.id),
             remote: true) do |f| %>
  <div><%= f.hidden_field :followed_id %></div>
  <%= f.submit "Follow", class: "btn btn-large btn-primary" %>
<% end %>

_unfollow.html.erb部分文件:

代码语言:javascript
复制
<%= form_for(current_user.relationships.find_by_followed_id(@user),
             html: { method: :delete },
             remote: true) do |f| %>
  <%= f.submit "Unfollow", class: "btn btn-large" %>
<% end %>

我的_follow_form.html.erb partial:

代码语言:javascript
复制
<% unless current_user?(@user) %>
  <div id="follow_form">
  <% if current_user.following?(@user) %>
    <%= render 'unfollow' %>
  <% else %>
    <%= render 'follow' %>
  <% end %>
  </div>
<% end %>

编辑:我还想说我正在使用Bootstrap。当我检查用户页面时,两个类span4和span8都出现了,但是"follow_form“所在的位置是一片空白。

编辑:这个问题几年前就回答过了:)

EN

回答 1

Stack Overflow用户

发布于 2012-08-11 15:08:43

我遇到了同样的问题,您可以通过执行以下更改来纠正此问题:

步骤1)在app/views/users/show.html.erb中,将代码更改为:

代码语言:javascript
复制
<div class = "span8">
    <%= render 'follow_form' if signed_in? %>      
        <% if @user.microposts.any? %>

要这样做:

代码语言:javascript
复制
<div class = "span8">
    <%= render 'shared/follow_form' if signed_in? %>      
        <% if @user.microposts.any? %>

步骤2)在部分app/views/shared/_follow_form.html.erb中

将代码更改为:

代码语言:javascript
复制
<% unless current_user?(@user) %>
  <div id="follow_form">
  <%if current_user.following?(@user) %>
    <%= render 'unfollow' %>
  <% else %>
    <%= render 'follow' %>
  <% end %>
  </div>
<% end %>

要这样做:

代码语言:javascript
复制
<% unless current_user?(@user) %>
  <div id="follow_form">
  <%if current_user.following?(@user) %>
    <%= render 'shared/unfollow' %>
  <% else %>
    <%= render 'shared/follow' %>
  <% end %>
  </div>
<% end %>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10662809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档