我有此页面(称为“页面”)。我尝试使用<%= link_to page.title, page_path(page.id) %>
通过id调用这些页面,但是可以,但是我想使用params来调用这些页面,我不希望它们的链接像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 %>
答案 0 :(得分:0)
执行此操作的方法可能很多,我的方法如下。
按以下步骤更改//instead of qTip you can also use popper.js with tippy
的{{1}}操作
using Type;
class Multimorph {
public static inline function value ( value : AnyAny ) {
return value.enumParameters () [ 0 ];
}
public static inline function position ( value : AnyAny ) {
return value.enumIndex ();
}
}
typedef Any2 = Of2<Dynamic, Dynamic>;
typedef Any3 = Of3<Dynamic, Dynamic, Dynamic>;
enum About2 <A, B> {
PosA ( value : A );
PosB ( value : B );
}
enum About3 <A, B, C> {
PosA ( value : A );
PosB ( value : B );
PosC ( value : C );
}
abstract Of2 <A, B> ( About2<A, B> ) from About2<A, B> to About2<A, B> {
@:from static inline function from_A <A, B> ( val : A ) : Of2<A, B> return About2.PosA ( val );
@:from static inline function from_B <A, B> ( val : B ) : Of2<A, B> return About2.PosB ( val );
@:to inline function to_A () : Null<A> return switch ( this ) { case About2.PosA ( val ): val; default: null; }
@:to inline function to_B () : Null<B> return switch ( this ) { case About2.PosB ( val ): val; default: null; }
}
abstract Of3 <A, B, C> ( About3<A, B, C> ) from About3<A, B, C> to About3<A, B, C> {
@:from static inline function from_A <A, B, C> ( val : A ) : Of3<A, B, C> return About3.PosA ( val );
@:from static inline function from_B <A, B, C> ( val : B ) : Of3<A, B, C> return About3.PosB ( val );
@:from static inline function from_C <A, B, C> ( val : C ) : Of3<A, B, C> return About3.PosC ( val );
@:to inline function to_A () : Null<A> return switch ( this ) { case About3.PosA ( val ): val; default: null; }
@:to inline function to_B () : Null<B> return switch ( this ) { case About3.PosB ( val ): val; default: null; }
@:to inline function to_C () : Null<C> return switch ( this ) { case About3.PosC ( val ): val; default: null; }
}
按以下步骤更改Multimorph.value ( v : AnyAny )
的{{1}}操作
using Multimorph;
class Main {
static function main () {
trace ( func ( "Hello World!") );
}
static function func ( arg : Of2<Int, String> ) {
if ( arg.position () == 0 ) {
return 'Was Passed an Integer `${ arg.value () }`';
} else {
return 'Was Passed a String `${ arg.value ()}`';
}
}
}
并通过index
中的页面pages_controller
如下
def index
if params[:id].present?
show
else
#Code of index action
@pages = Page.all
end
end
我希望这能解决您的问题。