在这种情况下如何制作link_to?

时间:2013-01-08 11:41:27

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

我想要链接到

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

所以它应该是这样的。

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

我不想在这里使用something_pathsomething_url

我只是想从当前主机变量创建网址链接。
我怎么能?

更新:

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

这需要我

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

2 个答案:

答案 0 :(得分:1)

尝试,

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

答案 1 :(得分:1)

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

只需将其添加到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]