0

Я уверен, что на это был дан ответ, но я повсюду искал, поэтому заранее извиняюсь. Когда я бегу:Извлечение первой части параметров из двух частей [: id] в рельсах

<%= params %> 

я вернусь: { "контроллер" => "Spree/таксонов", "действие" => "шоу", "ID" => "женщины/длинный рукав"}

Я пытаюсь получить доступ к id в действии show контроллера таксонов. У меня есть:

Это присваивает женщинам/длинный рукав @taxon_id.

Есть ли способ получить только «женщин» от «женщин/длинный рукав».

Я хотел бы оказать частичное основываясь на этом, что-то вроде:

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

Но вместо оказания «разделяемые/женщины» он пытается оказать «общий/женщины/длинный рукав», который ISN Частично.

спасибо.

ответ

1

Если вы просто хотите «женщины» из вашего Params хэша, то вы можете сделать

@taxon_id = params[:id].split("/").first 
+0

Благодарим за быстрый ответ! – reknirt

1

Я бы просто разделить на / и захватить первый элемент результирующего массива:

params[:id].split('/').first 
+0

Спасибо! Я ценю это. – reknirt

1

Если он всегда будет в этом формате, вы можете изменить свой маршрут:

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

И лет ur :id Поле будет правильно соответствовать.

+0

Спасибо! Я ценю это. – reknirt

Смежные вопросы