Подтвердить что ты не робот

Скрытое поле в рельсах

У меня есть эта форма в представлении в моем проекте. Мне нужно передать task_id на определенный контроллер, но журнал, похоже, не получает параметры. Я не знаю, в чем проблема.

<%= form_for :taskid, :url => {:action=>"index", :controller=>"statistics"}, :html => {:class => "nifty_form", :method => "GET"} do |f| %>
  <%f.hidden_field :task_id, :value => task.id%>
  <td><%= f.submit "اختر مهمة لاظهار احصائياتها منفرده"%></td>
<% end %>
4b9b3361

Ответ 1

Вам не хватает = после <%. Знак равенства необходим, когда вы хотите, чтобы результат появился в HTML, поэтому он используется, например, с методами тегов полей или рендеринга. Вы не должны использовать равное при использовании if, например, потому что это не то, что вы хотите распечатать (ну, может быть, но, скорее всего, это не так)

<%= form_for :taskid, :url => {:action=>"index", :controller=>"statistics"}, :html => {:class => "nifty_form", :method => "GET"} do |f| %>
  <%= f.hidden_field :task_id, :value => task.id%>
  <td><%= f.submit "اختر مهمة لاظهار احصائياتها منفرده"%></td>
<% end %>

Однако, как указал @AntonGrigoriev, вы должны использовать объект, если у вас есть, как этот

<%= form_for @task, :url => {:action=>"index", :controller=>"statistics"}, :html => {:class => "nifty_form", :method => "GET"} do |f| %>

или вы можете просто использовать hidden_field_tag

<%= hidden_field_tag :task_id, task.id %>

Ответ 2

Привет, пожалуйста, проверьте следующий код, чтобы отправить скрытое значение в rails, я пробовал и работал для одного из моих приложений:

hidden_field_tag(name, value = nil, options = {}) общедоступный например:

<%= hidden_field_tag(:field_name,[email protected]_status)%>