使用Rails 4 / Active Admin显示非管理员(.i.e。标准访问者)的交易页面

时间:2014-02-23 21:39:12

标签: ruby-on-rails ruby ruby-on-rails-3 activeadmin

我正在开发一个关于Rails上ruby的每日交易应用来学习它。

我已将创建为管理员,用户和交易安装了有效管理员。 它工作得很好,但我不理解(因为我对Ruby on Rails很新),是:

Active Admin是否自行生成交易路线,这样我就可以为每笔交易提供支持:myapp.com/deals/deal_id=456(交易456)?这是一个描述456交易的页面?

我看到我是否'搜索路线'我有以下路由由Active Admin创建:myapp / admin / deals /:id这是我在Active Admin上的视图页面,但那不是什么我想要做。我想显示交易网站访问者的视图。它应该是像myapp.com/deals/456

这样的东西

我需要能够自动创建一个路由/网址(例如myapp.com/deals/456),一旦我在Active Admin的管理界面中创建了交易,网页访问者就可以看到。

我应该在DealsController上创建一个'show'方法吗?

每次在Active Admin上的管理界面中创建新的交易时,如何管理生成'route / url'部分?

如果您知道有任何网络资源解释这一点,那也会受到赞赏,因为我是新手(请注意,我也可以使用指南:博客,它将是如何生成路线/网址以显示某个博客在AA上创建后发布,或者对于电子商务网站,它将为产品页面创建路由/网址。

1 个答案:

答案 0 :(得分:1)

Rails基础知识:

:id代表您正在查看/编辑/处理/不管的模型的id列的值。

因此,如果您希望您的路线回复

/deals/deal_456

你必须指示它做到这一点:

match '/deals/deal_:id', to: "deals#show", via: 'get', as: :view_deal # or path of your like

然后,根据您所看到的内容,以下所有内容都是等效的

@deal=Deal.find(456)
redirect_to view_deal_path(@deal) # myapp.com/deals/deal_456
redirect_to deal_path(@deal) # myapp.com/deals/456
redirect_to @deal # myapp.com/deals/456