Javascript 在RubyonRails上的accordion选项卡中显示好友数据
嗨,我正在构建一个应用程序,用户可以将他们的数据与朋友的数据进行比较 我通过将用户引导到特定的比较页面(见下文),成功地实现了该功能 但现在我正在改变外观,我希望“比较页面”在手风琴标签内打开 所以。。。这是好友列表的代码。它位于Javascript 在RubyonRails上的accordion选项卡中显示好友数据,javascript,ruby-on-rails,ruby,ruby-on-rails-4,Javascript,Ruby On Rails,Ruby,Ruby On Rails 4,嗨,我正在构建一个应用程序,用户可以将他们的数据与朋友的数据进行比较 我通过将用户引导到特定的比较页面(见下文),成功地实现了该功能 但现在我正在改变外观,我希望“比较页面”在手风琴标签内打开 所以。。。这是好友列表的代码。它位于users/show.html.erb中,当前用户可以将其数据与好友数据进行比较 <ul> <% @user.friendships.each do |friendship| %> <li&g
users/show.html.erb
中,当前用户可以将其数据与好友数据进行比较
<ul>
<% @user.friendships.each do |friendship| %>
<li>
<%= link_to user_profile_path(friendship.friend), :method => :get do %>
<%= friendship.friend.profile.name %>
(<span class="glyphicon glyphicon-erase"></span> <%= link_to "Destroy Friendship", friendship, :method => :delete %>)</li>
<li>
<%= link_to friendship do %>
<span class="glyphicon glyphicon-send"></span> <%= link_to 'Send Messages', new_message_path(to: friendship.friend.id) %> </li>
<li>
<%= link_to friendship do %>
<span class="glyphicon glyphicon-stats"></span> <%= link_to 'Compare', compare_friends_path(to: friendship.friend.id)%></li>
<% end %>
<% end %>
<% end %>
<% end %>
</li>
</ul>
以下是用户的代码。\u controller.rb
class UsersController < ApplicationController
def index
@users = User.all
@users = User.order('created_at DESC').paginate(page: params[:page], per_page: 30)
end
def create
end
def show
# @user = current_user
@user = User.find(params[:id])
@users = User.order('created_at DESC').paginate(page: params[:page], per_page: 30)
#@electro_total = current_user.electros.sum(:electricity_kwst)
@paper = current_user.papers.build
@electro = current_user.electros.build
@hwater = current_user.hwaters.build
@cleaning = current_user.cleanings.build
@transport = current_user.transports.build
@papers = current_user.papers
end
def compare
if current_user.profile
#@user = User.find(params[:id])
#@#users = User.friendships.friend(params[:id])
@user = User.find_by(id: params[:to].to_i) if params[:to]
@paper_weight_total_user = @user.papers.sum(:paper_weight)
@paper_weight_per_capita_user = @user.papers.sum(:paper_weight) / (@user.profile.staff)
@env_paper_weight_user = @user.papers.sum(:env_paper_weight)
@env_paper_ratio_user = (@env_paper_weight_user / @paper_weight_total_user) * 100
@paper_tree_ratio_user = (@user.papers.sum(:paper_weight) / 1000) *15
@paper_tree_co2_rescue_user = @paper_tree_ratio_user * (0.492)
#Rafmagn
@electro_total_user = @user.electros.sum(:electricity_kwst)
@electro_total_per_capita_user = @user.electros.sum(:electricity_kwst) / @user.profile.staff
@electro_total_per_m2_user = @user.electros.sum(:electricity_kwst) / @user.profile.building_size
#HotWater
@hwater_total_m3_user = @user.hwaters.sum(:hot_water_cubic_meter)
@hwater_total_m3_per_capita_user = @user.hwaters.sum(:hot_water_cubic_meter) /@user.profile.staff
@hwater_m3_m2_ratio_user = @user.hwaters.sum(:hot_water_cubic_meter) / @user.profile.building_size
#Ræsting
@cleaning_total_user = @user.cleanings.sum(:cleaning_liter)
@cleaning_staff_ratio_user = @user.cleanings.sum(:cleaning_liter) / @user.profile.staff
@cleaning_building_ratio_user = @user.cleanings.sum(:cleaning_liter) / @user.profile.building_size
#Ferðalog-bilar
@transport_co2_km_user = @user.transports.sum(:transport_km) * (0.1404)
@transport_co2_km_staff_ratio_user = @user.transports.sum(:transport_km) * (0.1404) / @user.profile.staff
@transport_km_staff_ratio_user = @user.transports.sum(:transport_km) / @user.profile.staff
@transport_km_user = @user.transports.sum(:transport_km)
#Ferðalog-flug
@transport_flight_co2_user = @user.transports.sum(:transport_flight_km) * (0.1722)
@transport_flight_co2_staff_ratio_user = @user.transports.sum(:transport_flight_km) * (0.1722) / @user.profile.staff
@transport_flight_km_user = @user.transports.sum(:transport_flight_km)
@transport_flight_km_staff_ratio_user = @user.transports.sum(:transport_flight_km) / @user.profile.staff
#Co2 vegna ferðalaga
@co2_due_to_transport_user = (@transport_flight_co2 + @transport_co2_km) / 1000
@tree_count_rescue_user = @co2_due_to_transport * 492
else
redirect_to user_path
end
end
end
我在这里感到有点迷茫。有人能告诉我正确的路径吗?首先,rails片段需要有下划线,因此您的片段应该是
\u compare\u users.html.erb
您还需要将所有控制器代码移动到show方法中
那就行了
您有一个相当大的控制器,您可能需要考虑使用演示者对其进行清理
希望这能让你走
幸福,,
肖恩
<div class="col-md-8 col-md-offset-1 well">
<h3>Compare Electricity</h3>
<div class="col-md-6">
<table class="table table-hover table-box-compare ">
<thead>
<th>compare -Electricity</th>
<th><%= @user.profile.name %></th>
<th><%= current_user.profile.name %></th><br>
</thead>
<tbody>
<tr>
<td>Total Electricity</td>
<td><strong><%= @electro_total_user %> kwst </strong></td>
<td><strong><%= @electro_total %> kwst </strong></td>
</tr>
<tr>
<td>kwst á hvert stöðugildi</td>
<td> <strong><%= @electro_total_per_capita_user %> kwst </strong></td>
<td><strong><%= @electro_total_per_capita %> kwst </strong></td>
</tr>
<br>
<tr>
<td> kwst. f hvert stöðugildi</td>
<td> <strong><%= @electro_total_per_m2_user %> kwst/fm. </strong></td>
<td> <strong><%= @electro_total_per_m2 %> kwst/fm. </strong></td>
</tr>
</tbody>
</table>
</div>
<div class="col-md-6">
Rafmagnsnotkun Samanburður við <%= @user.profile.name %>
<%= bar_chart [
{name: "Rafmagnsnotkun #{@user.profile.name}", data: @electro_total_user, 'interpolateNulls':true},
{name: "Rafmagn á hvert stöðugildi #{@user.profile.name}", data: @electro_total_per_capita_user, 'interpolateNulls':true},
{name: "Rafmagnsnotkun #{current_user.profile.name}", data: @electro_total, 'interpolateNulls':true},
{name: "Rafmagn á hvert stöðugildi #{current_user.profile.name}", data: @electro_total_per_capita, 'interpolateNulls':true} ] %>
</div>
</div>
class UsersController < ApplicationController
def index
@users = User.all
@users = User.order('created_at DESC').paginate(page: params[:page], per_page: 30)
end
def create
end
def show
# @user = current_user
@user = User.find(params[:id])
@users = User.order('created_at DESC').paginate(page: params[:page], per_page: 30)
#@electro_total = current_user.electros.sum(:electricity_kwst)
@paper = current_user.papers.build
@electro = current_user.electros.build
@hwater = current_user.hwaters.build
@cleaning = current_user.cleanings.build
@transport = current_user.transports.build
@papers = current_user.papers
end
def compare
if current_user.profile
#@user = User.find(params[:id])
#@#users = User.friendships.friend(params[:id])
@user = User.find_by(id: params[:to].to_i) if params[:to]
@paper_weight_total_user = @user.papers.sum(:paper_weight)
@paper_weight_per_capita_user = @user.papers.sum(:paper_weight) / (@user.profile.staff)
@env_paper_weight_user = @user.papers.sum(:env_paper_weight)
@env_paper_ratio_user = (@env_paper_weight_user / @paper_weight_total_user) * 100
@paper_tree_ratio_user = (@user.papers.sum(:paper_weight) / 1000) *15
@paper_tree_co2_rescue_user = @paper_tree_ratio_user * (0.492)
#Rafmagn
@electro_total_user = @user.electros.sum(:electricity_kwst)
@electro_total_per_capita_user = @user.electros.sum(:electricity_kwst) / @user.profile.staff
@electro_total_per_m2_user = @user.electros.sum(:electricity_kwst) / @user.profile.building_size
#HotWater
@hwater_total_m3_user = @user.hwaters.sum(:hot_water_cubic_meter)
@hwater_total_m3_per_capita_user = @user.hwaters.sum(:hot_water_cubic_meter) /@user.profile.staff
@hwater_m3_m2_ratio_user = @user.hwaters.sum(:hot_water_cubic_meter) / @user.profile.building_size
#Ræsting
@cleaning_total_user = @user.cleanings.sum(:cleaning_liter)
@cleaning_staff_ratio_user = @user.cleanings.sum(:cleaning_liter) / @user.profile.staff
@cleaning_building_ratio_user = @user.cleanings.sum(:cleaning_liter) / @user.profile.building_size
#Ferðalog-bilar
@transport_co2_km_user = @user.transports.sum(:transport_km) * (0.1404)
@transport_co2_km_staff_ratio_user = @user.transports.sum(:transport_km) * (0.1404) / @user.profile.staff
@transport_km_staff_ratio_user = @user.transports.sum(:transport_km) / @user.profile.staff
@transport_km_user = @user.transports.sum(:transport_km)
#Ferðalog-flug
@transport_flight_co2_user = @user.transports.sum(:transport_flight_km) * (0.1722)
@transport_flight_co2_staff_ratio_user = @user.transports.sum(:transport_flight_km) * (0.1722) / @user.profile.staff
@transport_flight_km_user = @user.transports.sum(:transport_flight_km)
@transport_flight_km_staff_ratio_user = @user.transports.sum(:transport_flight_km) / @user.profile.staff
#Co2 vegna ferðalaga
@co2_due_to_transport_user = (@transport_flight_co2 + @transport_co2_km) / 1000
@tree_count_rescue_user = @co2_due_to_transport * 492
else
redirect_to user_path
end
end
end
<div class="col-sm-12 col-md-12">
<div class="well">
<div class="tab-content">
<div role="tabpanel" class="tab-pane active" id="tab1">
<%= render 'conversations/msg_part' %>
</div>
<div role="tabpanel" class="tab-pane" id="tab2">
<%= render 'users/shared/users_find' %>
</div>
<div role="tabpanel" class="tab-pane" id="tab3">
<%= render 'users/shared/friends' %>
</div>
<div role="tabpanel" class="tab-pane" id="tab4">
<%= render 'pages/partials/paper_part' %>
</div>
<div role="tabpanel" class="tab-pane" id="tab5">
<div class="electro">
<%= render 'pages/partials/electro_part' %>
</div>
</div>
<div role="tabpanel" class="tab-pane" id="tab6">
<h1>Tab6</h1>
</div>
<div role="tabpanel" class="tab-pane" id="tab7">
<div class="hwater">
<%= render 'pages/partials/hwater_part' %>
</div>
</div>
<div role="tabpanel" class="tab-pane" id="tab8">
<h1>Tab8</h1>
</div>
<div role="tabpanel" class="tab-pane" id="tab9">
<h1>Tab9</h1>
</div>
<div role="tabpanel" class="tab-pane" id="tab10">
<%= render 'users/shared/compare_users' %>
</div>
</div>
</div>