Я никогда не программировал раньше, и мне трудно заставить link_to
отобразить соответствующий :partial
в профиле пользователя в моем приложении Rails 3.В общем, есть три частичные:
- _profile_credits ( Ради этого вопроса я фокусируюсь на
_profile_credits
. ) - _profile_about
- _profile_reviews
Я хочу сделать следующее:
<li><%= link_to "Credits", profile_credits_profile_path(:id => @profile.id), :remote => true %></li>
И иметь следующую частичную (_profile_credits) загрузку и визуализацию каждого кредита в @user.кредиты:
<% for credit in @user.credits %>
<div class="credit">
</div>
<% end %>
Где я пытаюсь сделать партиал, находится под ссылками и внутри контейнера div.В приведенном ниже HTML-коде показано расположение ссылок в элементе div и где я хотел бы загрузить информацию из партиалов:
<div id="tabs">
<ul id="infoContainer">
<li><%= link_to "Reviews", profile_reviews_profile_path(:id => @profile.id), :remote => true %></li>
<li><%= link_to "About", profile_about_profile_path(:id => @profile.id), :remote => true %></li>
<li><%= link_to "Credits", profile_credits_profile_path(:id => @profile.id), :remote => true %></li>
</ul>
<div id="tabs-1">
##load information from the partials inside `<div id="tabs-1">
</div>
</div><!-- end tabs -->
И остальную часть моего кода ...
Мое profiles_controller#profile_credits
действие:
def profile_credits
respond_to do |format|
format.js { render :layout => false }
end
end
В моем routes.rb
:
resources :profiles do
get :profile_credits, :on => :member
end
Мой profile_credits.js.erb
:
$( "#tabs" ).html( "<%= escape_javascript( render (:partial => "profile_credits", :locals => { :id => @profile.id } ) ) %>" );
В настоящий момент ничего не происходит, когдаЯ нажимаю на ссылку.Я пытался следовать различным примерам Rails 3 UJS, но не могу его получить.В какой-то момент я указал больше в действии ProfilesController profile_credits
.Однако, если я был в чужом профиле, мои кредиты загружались, а не кредиты пользователя, профиль которого я просматривал.Может кто-нибудь помочь мне разобраться в этом?