【发布时间】:2018-11-27 04:51:25
【问题描述】:
我有这个页面(称为“页面”)。我尝试使用 <%= link_to page.title, page_path(page.id) %> 通过 id 调用这些页面,但我想使用参数调用这些页面,我不希望它们的链接像 http://localhost:3000/pages/6 那样直接,但我希望 id 6 通过参数,所以我会有一个类似http://localhost:3000/pages?category_id=1的链接。
这是我的页面控制器
class PagesController < ApplicationController
def show
@pages = Page.find(params[:id])
end
def all
@category = Category.find_by(id: params[:category_id])
@pages = @category.pages
end
def index
if params[:id].present?
show
else
#Code of index action
@pages = Page.all
end
end
end
还有我的 show.html.erb
<%= @page.title %>
<%= @page.body %>
然后是这个页面的链接
<% @pages.each do |page| %>
<h4>
<b>
<%= link_to page.title, page_path(page.id)%>
</b>
</h4>
<% end %>
【问题讨论】:
-
使用
index操作,然后在您的参数存在时调用show
标签: ruby-on-rails ruby ruby-on-rails-4 ruby-on-rails-5