Мой сервер rails говорит, что он отобразил мои частичные данные на моей странице, но содержимого там нет. Даже когда я просматриваю элементы на странице с помощью Chrome DevTools, div, который должен быть визуализирован, не существует.Rails не делает частичным, как он говорит, что он имеет
EDIT: Исправлена эта проблема, но теперь частичное внутри этого частичного изображения не будет отображаться. Я открою новый вопрос для этой проблемы.
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)
Любые идеи?
ответ
Вы должны использовать рендеринг ERB тег:
<%= render 'layouts/relation' unless current_user?(@user) %>
Спасибо @depa. Теперь есть пустой div без содержимого. Вы можете увидеть мое редактирование выше, пожалуйста? –
Если мой ответ решил вашу первоначальную проблему, пожалуйста, примите его в качестве правильного ответа. Если у вас есть другие проблемы, способ их поиска - открыть новые вопросы. – depa
Так из ваших макетов/отношение частичного рендеринга вы другой частичный (макеты/edit_relation), не так ли? Может быть, вот в чем проблема.
См. Ответ депы выше, он прав. – Morred
Вы упускаете =
here--
<%= render 'layouts/relation' unless current_user?(@user) %>
Вызов render
еще будет генерировать строку, поэтому вы видите его в журналах; без знака равенства он не появится на странице.
- 1. Rails не оказывает частичного, хотя он говорит, что он имеет
- 2. Что делает Eclipse, когда он говорит, что он обновляет индексы?
- 3. Rails ActionMailer говорит Рут не существует, когда он делает
- 4. Что он делает?
- 5. Файл не существует, но говорит, что он делает?
- 6. Терминал говорит, что «PyObjCTools» не существует, когда он делает
- 7. Программа говорит, что словарь не существует, когда он делает
- 8. Prestashop говорит, что работник не существует, хотя он делает
- 9. Этот метод делает то, что он говорит, что он будет делать (чтобы страница не кэшировалась)?
- 10. «AnyObject» не имеет члена «contactUID» Даже думал, что Intelitype говорит, что он делает?
- 11. sortedArrayUsingSelector, что он делает?
- 12. Создание - что он делает?
- 13. Python говорит, что переменная не была asigned, когда он имеет
- 14. IsGUIThread - Что он делает?
- 15. DefaultMemberAttribute - что он делает?
- 16. Maven - Что он делает?
- 17. for (;;) {} что он делает?
- 18. Что он делает?
- 19. FMOD_Результат, что он делает
- 20. Действительно ли mysqldump -password делает то, что он говорит?
- 21. ^= оператор, что он делает?
- 22. MySQL '@': что он делает?
- 23. Файл не загружается, даже если он говорит, что он сделал
- 24. LiveReload с Guard не работает, хотя он говорит, что он
- 25. Почему он говорит, что конструктор не определен?
- 26. Модуль установлен он говорит, что это не
- 27. Говорит, что сельдерей не установлен, когда он
- 28. Что делает оператор splat, когда он не имеет имени переменной?
- 29. "Inheritance" Атрибут: что он делает?
- 30. Почему он говорит, что «RecyclerView не имеет LayoutManager», когда он есть. Пожалуйста, см. Подробности
Вы видите пустую '
Ничего вообще @depa –