我已经预览了所有类似主题的问题,这些解决方案都没有帮助我。我正在尝试创建一个类似于Twitter的推文,它将在rails中显示某个类别的帖子。 这是我的行业控制人员:
class IndustriesController < ApplicationController
def index
@wads = Wad.order('created_at DESC')
end
def music
@music_wads = Wad.where(category: "Music").paginate(page: params[:page], per_page: 20)
@wad = @music_wads.pluck(:id)
end
end
这是我的帖子控制器的一部分:
class WadsController < ApplicationController
before_action :find_wad, only: [:show, :edit, :update, :destroy]
def index
@wads = Wad.all
end
def show
@wad = Wad.find(params[:id])
end
def new
@wad = Wad.new
end
def create
@wad = current_user.wads.build(wad_params)
if @wad.save
redirect_to @wad
else
flash[:error] = 'Error try again'
render 'new'
end
end
end
这是我对行业控制人员的展示视图:
<h1>Music Wads</h1>
<%= will_paginate @music_wads %>
<% @music_wads.each do |music_wad| %>
<%= link_to 'wads/:id' do %>
<div class="flex-rectangle">
<%= music_wad.user.name %>
<%= music_wad.short_form %>
<% end %>
</div>
<%= will_paginate @music_wads %>
<% end %>
这是我的路线档案:
Rails.application.routes.draw do
root 'static_pages#home'
get '/help', to: 'static_pages#help'
get '/about', to: 'static_pages#about'
get '/contact', to: 'static_pages#contact'
get '/signup', to: 'users#new'
get '/login', to: 'sessions#new'
post '/login', to: 'sessions#create'
delete '/logout', to: 'sessions#destroy'
get '/industries', to: 'industries#index'
get '/music', to: 'industries#music'
get '/tech', to: 'industries#tech'
resources :users
resources :account_activations, only: [:edit]
resources :password_resets, only: [:new, :create, :edit, :update]
resources :wads
end
我试图这样做,以便点击帖子列表中的帖子将您带到该帖子的页面(/ wads / id)。我整天都感到困惑,现在我的智慧结束了。我知道我是一个菜鸟,这是一个不起眼的问题,但任何帮助都会很高兴得到赞赏。 感谢
答案 0 :(得分:0)
resources :wads
将创建一些您可以使用的路线。
在控制台中运行rails routes
(在轨道5上)或rake routes
(在轨道4及以下)将为您提供路线列表。
在prefix
列下,您可以找到应使用的正确路线名称,在URI Pattern
下,您可以看到它链接到的实际地址。
您要求wads/:id
,因此链接应为<%= link_to wad_path(wad_music) do %>
(前缀为wad_path
,您需要为其提供包含id
的对象 - 或ID ...)
由于你想链接到一个单一的动作 - 意味着动作将获得一个对象的id和id - 并获得它(获得一个对象!),链接前缀也将是单数形式:{{1}而不是wad_path
(wads_path
将链接到控制器中的wads_path
操作,并且不需要获取任何对象或ID)