2016-07-10 2 views
1

Im пытается до link_toshow действие для post.Ссылка на последний пост - rails

В моей controller у меня есть:

@post = Post.all 

На мой взгляд, я пытаюсь связать его с последнего поста, как это:

<%= link_to @post.last do %> 
<%= @post.last.title %> 
<% end %> 

Но он не принимает меня к шоу страница для этой публикации?

+0

Что вы подразумеваете под * это не ведет меня на страницу показа *? Где ты берешь тебя вместо этого? Вызывает ли ошибка? – spickermann

ответ

5

Post.all загружает все сообщения, но не гарантирует их заказ. Вы можете использовать id или created_at значение, чтобы заказать список сообщений:

# in your controller 
@posts = Post.order(:id) 

# in the view: 
<%= link_to @posts.last.title, @posts.last %> 

Или - если вам не нужны другие посты в представлении - просто загрузите самую последнюю запись:

# in the controller: 
@latest_post = Post.order(:id).last 

# in the view: 
<%= link_to @latest_post.title, @latest_post %> 
+0

Этот ответ поднимает очень хороший момент! Запомните заказ! – tolgap

1

Попробуйте с кодом ниже,

<%= link_to post_path(@post.last) do %> 
<%= @post.last.title %> 
<% end %> 

Если этот код не работает, то, пожалуйста, найти маршрут с огнем rake routes в терминале и заменить post_path с маршрутами

Надежда это будет работать.