2013-01-08 20 views
0

我想都到在这种情况下,我如何制作link_to?

http://example.com/shop/:shop_name

所以它应该是这样的链接。

<%= link_to "Shop", req.host + "/shop/"+ @shop.shop_name , :class => 'btn' %> 

我不想使用something_pathsomething_url这里。

我只是想创建从当前主机,和变量 URL链接。
我该怎么办?

UPDATE:

<%= link_to "Shop", request.host + /shop/ [email protected]_name , :class => 'btn' %> 

这需要我

http://www.example.com/shop/www.example.com/shop/walmart

+0

你是否需要“http://example.com”前缀,否则你应该有什么工作。 –

+1

你的代码示例提供了什么链接?它怎么不正确?我没有看到我们被要求帮助你... – Veger

+0

@Vegar我添加了更多信息问题 – cat

回答

1

尝试,

<%= link_to "Shop", "/shop/"+ @shop.shop_name , :class => 'btn' %> 
1

为什么你不希望使用的网址助手?手工操作容易出错。

简单地把这个routes.rb

get "shop/:name", to: "shops#show", as: "shop_name" 

然后你就可以在你的模板中使用:

<%= link_to "Shop", shop_name_path(@shop.shop_name), :class => 'btn' %> 

shops控制器的show作用只是获取name PARAM:

shop_name = params[:name]