在任何人將其標記爲重複之前,我從前面的問題中被告知要用這個問題開一個新的問題。不幸的是,我最後一個問題的解決方案並不適用於這個問題。Rails不會呈現部分,即使它說它有
我的rails服務器說它已經在我的頁面中顯示了我的部分內容,但內容不存在。 即使我使用Chrome DevTools檢查頁面上的元素,應該呈現的div也不在其中。
編輯:從layouts
更改我所有的partials到shared
,但我沒有改變這裏。
show.html.erb
(與固定):
<% provide(:title, @user.name) %>
<% provide(:pagetitle, @user.name) %>
<%= render'layouts/relation' unless current_user?(@user)%>
<div id="stats">
Player Statistics will appear here.
</div>
<div id="characters">
Player Characters will appear here.
</div>
_relation.html.erb
(部分):
<div id="relation">
<% if current_user.friends?(@user) %>
<%= render 'layouts/edit_relation', locals: { action: "rm-friend" } %>
<% elsif current_user.req_friends?(@user) %>
Friend Request Pending...
<% elsif current_user.pend_friends?(@user) %>
<%= render 'layouts/edit_relation', locals: { action: "add-friend" } %>
<%= render 'layouts/edit_relation', locals: { action: "rej-friend" } %>
<% else %>
<%= render 'layouts/edit_relation', locals: { action: "req-friend" } %>
<% end %>
</div>
_edit_relation.html.erb
(內部分的部分):
<% case :action %>
<% when "req-friend"%>
<%= form_for(current_user.relation.build(character: @user.id, type: "freq"), remote: true) do |f| %>
<div><%= f.hidden_field :character %></div>
<div><%= f.hidden_field :type %></div>
<%= f.submit "Add Friend", class: "btn btn-large btn-primary" %>
<% end %>
<% when "add-friend"%>
<%= form_for(current_user.relation.build(character: @user.id, type: "friend"), remote: true) do |f| %>
<div><%= f.hidden_field :character %></div>
<div><%= f.hidden_field :type %></div>
<%= f.submit "Accept Request", class: "submit" %>
<% end %>
<% when "rej-friend" %>
<%= form_for(current_user.reverse_relation.find_by(owner: @user.id, type: "freq"), html: { method: :delete }, remote: true) do |f| %>
<%= f.submit "Reject Request", class: "submit" %>
<% end %>
<% when "rm-friend"%>
<%= form_for(current_user.reverse_relation.find_by(owner: @user.id, type: "friend"), html: { method: :delete }, remote: true) do |f| %>
<%= f.submit "Remove Friend", class: "submit" %>
<% end %>
<% end %>
我的服務器日誌說部分已被渲染:
Started GET "/melv" for 127.0.0.1 at 2013-11-01 21:22:21 +0000
Processing by UsersController#show as HTML
Parameters: {"name"=>"melv"}
User Load (1.0ms) SELECT "users".* FROM "users" WHERE "users"."remember_token
" = '35599bfa491cb6b5e10f164c0191d51cd773f173' LIMIT 1
User Load (1.0ms) SELECT "users".* FROM "users" WHERE "users"."name" = 'melv'
LIMIT 1
Relation Load (1.0ms) SELECT "relations".* FROM "relations" WHERE "relations"
."owner" = $1 AND "relations"."character" = 1 AND "relations"."type" = 'friend'
LIMIT 1 [["owner", 2]]
Relation Load (0.0ms) SELECT "relations".* FROM "relations" WHERE "relations"
."owner" = $1 AND "relations"."character" = 1 AND "relations"."type" = 'freq' LI
MIT 1 [["owner", 2]]
Relation Load (1.0ms) SELECT "relations".* FROM "relations" WHERE "relations"
."owner" = $1 AND "relations"."character" = 2 AND "relations"."type" = 'freq' LI
MIT 1 [["owner", 1]]
Rendered layouts/_edit_relation.html.erb (0.0ms)
Rendered layouts/_relation.html.erb (14.0ms)
Rendered users/show.html.erb within layouts/application (23.0ms)
Rendered layouts/_shim.html.erb (0.0ms)
Rendered layouts/_header.html.erb (1.0ms)
Relation Load (1.0ms) SELECT "relations".* FROM "relations" WHERE "relations"
."owner" = 1 LIMIT 1
Rendered layouts/_aside.html.erb (4.0ms)
Rendered layouts/_flash.html.erb (0.0ms)
Completed 200 OK in 299ms (Views: 290.0ms | ActiveRecord: 5.0ms)
任何想法?
哪兩個部分沒有渲染? – MarkoHiel
鑑於渲染edit_relation部分只需要0.0ms,我沒有懷疑與case語句匹配的值。你能否在這部分內容中檢查行動的價值? – Chandranshu
做部分'佈局/旁邊'和'佈局/閃光'渲染好? – amine