0

我想要链接到

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

所以应该是这样的。

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

我不想在这里使用something_pathsomething_url

我只想从当前主机变量创建 url 链接。
我怎样才能?

更新:

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

这让我

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

4

2 回答 2

1

尝试,

<%= link_to "Shop", "/shop/"+ @shop.shop_name , :class => 'btn' %>
于 2013-01-08T11:50:42.490 回答
1

为什么不想使用 url 助手?手动操作很容易出错。

简单地说routes.rb

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

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

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

在控制器的show操作中,shops只需获取name参数:

shop_name = params[:name]
于 2013-01-08T12:05:57.647 回答