Установка значения, отправленного из партиала link_to в другом представлении

Итак, у меня есть эта ссылка из частичного представления:

<td><%= link_to 'Inscribir Ejemplares en la Carrera', home_carreras_path(@race, :meeting_id => meeting.id) %></td>

Эта ссылка отправляет меня в другое представление, где отображаются два других частичных изображения.

Адрес браузера выглядит так:

http://0.0.0.0:3000/home/carreras?meeting_id=6

Итак, вы видите, что значение, которое я отправил по ссылке, есть, и я хочу передать это значение, это число одному из фрагментов, отображаемых в этом представлении.

Я не нашел, как это сделать, я много искал, прежде чем спросить. Поэтому, пожалуйста, я надеюсь, что кто-то здесь может мне помочь. Спасибо.

РЕДАКТИРОВАТЬ: ДОБАВИТЬ ДОПОЛНИТЕЛЬНУЮ ИНФОРМАЦИЮ

Контроллер:

class HomeController < ApplicationController
  def index
   render :layout => 'principal'
  end

  def carreras
   @meeting_id = params[:meeting_id]
   render :layout => 'principal'
  end
end

Там не так много действий :/

Частичное, где скрыто поле:

<%= form_for(race) do |f| %>

   <ul>
    <% race.errors.full_messages.each do |msg| %>
      <li><%= msg %></li>
    <% end %>
   </ul>
 </div>
<% end %>

<div class="field">
  <%= f.hidden_field :meeting_id %><br />
</div>
<div class="field">
  <%= f.label :carrera_num %><br />
  <%= f.text_field :carrera_num %>
</div>
<div class="field">
  <%= f.label :caballo_num %><br />
  <%= f.text_field :caballo_num %>
</div>
<div class="field">
  <%= f.label :caballo_nombre %><br />
  <%= f.text_field :caballo_nombre %>
</div>
<div class="field">
  <%= f.label :distancia %><br />
  <%= f.text_field :distancia %>
</div>
<BR>
<div class="actions">
  <%= f.submit "Inscribir Ejemplar" %>
</div>
<% end %>

person Saul    schedule 05.06.2013    source источник


Ответы (1)


Если ваш контроллер действует для carreras, вы можете установить переменную экземпляра для Meeting_id.

def carreras
  @meeting_id = params[:meeting_id]

  # rest of controller action
end

Затем @meeting_id будет доступен вам на протяжении всего вашего действия.

Вы можете снабдить свой тег hidden_field хэшем опций, чтобы установить значение.

<%= hidden_field :meeting_id, value: @meeting_id %>

person Zajn    schedule 05.06.2013
comment
У меня есть скрытое поле в частичном отображении в этом представлении, которое должно получить это значение. Но это не так... мне нужно передать это значение в частичном коде рендеринга? Что-то вроде этого: ‹%= render 'form_race', :race =› Race.new(:meeting_id) %›... что, кстати, не работает - person Saul; 06.06.2013
comment
Можете ли вы добавить свое действие контроллера и часть вашего частичного, где объявлено ваше скрытое поле? - person Zajn; 06.06.2013
comment
Спасибо!!! Не могу поверить, насколько это было просто и логично. Но хорошо я учусь. Спасибо за ответ! - person Saul; 06.06.2013
comment
Конечно вещь. Рад, что смог помочь. - person Zajn; 06.06.2013