我确信之前已经回答过,但我到处都是,所以我提前道歉。我跑的时候:
<%= params %>
我回来了:{“controller”=&gt;“spree / taxons”,“action”=&gt;“show”,“id”=&gt;“women / long-sleeve”}
我正在尝试在taxons控制器的show动作中访问:id。我有:
def show
@taxon_id = params[:id]
end
这将'women / long-sleeve'分配给@taxon_id。
有没有办法从“女性/长袖”中找回“女性”。
我想基于此呈现部分,例如:
<% if @taxon_id == params[:id] %>
<%= render 'shared/#{#taxon_id}' %>
<% end %>
但不是渲染'共享/女性',而是试图渲染'共享/女性/长袖',这不是偏袒。
谢谢。
答案 0 :(得分:1)
如果你只想从你的params哈希中找到“女人”那么你可以做
@taxon_id = params[:id].split("/").first
答案 1 :(得分:1)
我会在/
上拆分并抓住结果数组中的第一个元素:
params[:id].split('/').first
答案 2 :(得分:1)
如果它始终采用该格式,您可以更改路线:
match '/spree/taxons/:id/:slug' => 'taxons#show'
您的:id
字段将正确匹配。