Rails: проблема маршрутизации, кнопка для частичного запуска - PullRequest
0 голосов
/ 29 февраля 2012

У меня есть школьная страница, на которой при щелчке по вкладкам можно вызвать микросообщения.Проблема в том, что я не думаю, что все правильно, и я чувствую себя идиотом, пытающимся понять это и не добившимся успеха.Если у кого-то есть предложения, пожалуйста, не стесняйтесь помочь мне!Большое вам спасибо!

Routes.rb

get "/schools/:id/mostrecent_schools" => "users#microposts", :as => "mostrecent_schools"

Школьный контроллер

  def mostrecent
    @school = School.find_by_slug(request.referer.gsub('http://localhost:3000/','')).id
    @microposts = @user.microposts.paginate(:per_page => 10, :page => params[:page])
     respond_to do |format|
      format.html
      format.js
     end
  end

ВкладкаHTML

li class='StreamTab StreamTabRecent active'>
<%= link_to 'Most Recent', mostrecent_schools_path, :remote => true, :class => 'TabText' %>
</li>

<div id='ContentBody'>
<div id='ajax'></div>
<%= render 'users/microposts', :microposts => @microposts %>
</div>

mostrecent.js

$("#ajax").hide();
$("#ContentBody").html('<%= escape_javascript(render :partial => "users/microposts" )%>');

EDIT * Routes.rb *

Projects::Application.routes.draw do
  resources :pages
  resources :application
  resources :schools
  resources :microposts
  resources :comments
  resources :users
  resources :sessions
  resources :password_resets
  resources :relationships, only: [:create, :destroy]
  resources :users do
      member do
        get :following, :followers
      end
  end
  resources :microposts do
    member do
      post :vote_up, :unvote
    end
  end
  resources :microposts do
    member do
      post :upview
    end
  end
  resources :microposts do
    resources :comments
  end

  get "schools/:page/mostrecent" => "schools#mostrecent", :as => "mostrecent_schools" 

  root to: "pages#index"

1 Ответ

2 голосов
/ 29 февраля 2012

Из того, что я могу понять, ваш route.rb должен выглядеть примерно так:

Моя последняя попытка

Измените ваш route.rb на

get "schools/mostrecent/new/:page" => "schools#mostrecent", :as => "mostrecent_schools"

ив вашем контроллере отредактируйте эту строку.Если это не работает, тогда я сдаюсь

@school = School.find_by_slug(request.referer.gsub('http://localhost:3000/','')).params[:page]

Хотя это не самый спокойный способ делать вещи, и, насколько я знаю, поскольку пользователи принадлежат школам, а микросообщения принадлежат пользователям, вы не должны определятьшколы микросообщений и пользователей так же просты: ресурсы

См. [Руководство по маршрутизации рельсов] (Подробнее см. http://guides.rubyonrails.org/routing.html)for.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...