问题:我已经安装了friendly_id gem,它正在按我的Users表的方式工作,但是对于我的清单模型,使用:name而不是:id的友好URL不是没有工作。
简而言之,这是我的Listings控制器:
def show
@order = @listing.orders.new()
#as you can see, I have no need for a find because i noticed i didn't need it for the show page to show up correctly - idk
end
private
def set_listing
@listing = Listing.find(params[:id])
end
也尝试在集合列表和Listing.friendly.find(params[:id])
中使用def show
。
令我困惑的是,我什至不需要@listing=Listing.find(params[:id])
我在演出中尝试使用了此广告:@listing=Listing.friendly.find(params[:id]
但是没有什么区别。我还尝试过更改“ set_listing”方法以包含友好的代码段,但这也无济于事-即使无法正常工作,也只能尝试一下。
我将其包含在模型中-就像我为“用户”表所做的一样:
extend FriendlyId
friendly_id :name, use: :slugged
例如,我有我的列表,编号:1,名称:列表测试1,子弹:listing-test-1
我转到domain.com/listings/listing-test-1,我得到了
找不到带有'id'= listing-test-1的列表
我所做的一切都与处理Users表相同,但是似乎不起作用。
问题:我没有在节目中称呼@listing是事实吗?如果是这样,还有其他解决方法吗? 重要的是我叫名字而不是ID