0

これは以前に回答されたと確信していますが、どこでも見たので、事前にお詫び申し上げます。私が実行すると:

<%= params %>

私は戻ってきます: {"controller"=>"spree/taxons", "action"=>"show", "id"=>"women/long-sleeve"}

分類群コントローラの show アクションで :id にアクセスしようとしています。私は持っている:

def show
  @taxon_id = params[:id]
end

これにより、「女性/長袖」が @taxon_id に割り当てられます。

「女性/長袖」から「女性」のみを取得する方法はありますか?

これに基づいて、次のようなパーシャルをレンダリングしたいと思います。

<% if @taxon_id == params[:id] %>
  <%= render 'shared/#{#taxon_id}' %>
<% end %>

しかし、'shared/women' をレンダリングする代わりに、'shared/women/long-sleeve' をレンダリングしようとしていますが、これは部分的ではありません。

ありがとうございました。

4

3 に答える 3

1

paramsハッシュから「女性」だけが必要な場合は、次のことができます

@taxon_id = params[:id].split("/").first
于 2013-03-12T01:22:47.947 に答える
1

分割し/て、結果の配列の最初の要素を取得します。

params[:id].split('/').first
于 2013-03-12T01:22:54.957 に答える
1

常にその形式になる場合は、ルートを変更できます。

match '/spree/taxons/:id/:slug' => 'taxons#show'

そして、あなたの:idフィールドは正しく一致します。

于 2013-03-12T01:23:53.073 に答える