Как сделать ссылку на пользователей / id / microposts в Ruby on Rails? - PullRequest
0 голосов
/ 26 февраля 2012

Мне нужно создать ссылку на users/id/microposts, где id - это идентификатор пользователя. Мне было интересно, как я могу сделать это с link_to?

Код HTML, который я сейчас использую:

<strong><a href="/users/<%= @user.id %>/microposts">Microposts</a></strong> <%= user.microposts.count %>

Что делает следующее:

<a href="/users/1/microposts">Microposts</a>

Ответы [ 2 ]

0 голосов
/ 26 февраля 2012

В rout.rb у вас должно быть что-то вроде этого:

match '/users/:id/microposts' => 'microposts#index_by_user', :as => :microposts_by_user

, и вы можете сделать следующее:

0 голосов
/ 26 февраля 2012

Если у вас правильно настроены маршруты, это будет вложенный маршрут для микросообщений, в рельсах 3 это будет

resources :users do
  resources :microposts
end

Тогда, по вашему мнению, с помощью link_to вы можете

<%= link_to "Microposts", user_microposts_path(user) %>

Это может быть current_user, @user ... любой пользовательский объект, который вы хотите микросообщений, может быть из

@users.each do |user|
  <%= link_to "Microposts", user_microposts_path(user) %>
end

OR

<%= link_to "Microposts", user_microposts_path(current_user) %>

EDIT: добавлен пользовательский объект, который я забыл передать, и несколько примеров с ним.

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