rails simple_form-숨겨진 필드-작성?


답변:


309

이 시도

= f.input :title, :as => :hidden, :input_html => { :value => "some value" }

8
고마워요. = f.input :title, :as => :hidden, :input_html => { :value => "some value" }
Linus Oleander

5
이것은 simple_form숨겨진 입력을 수행 하는 방법이지만 숨겨진 입력 만 필요한 경우 hidden_field단순 양식은 모든 양식 작성기 메소드를 상속하므로 Rails 의 양식 작성기를 사용하십시오.
scarver2

281

최단 !!!

=f.hidden_field :title, :value => "some value"

더 짧고 건조하며 아마도 더 분명합니다.

물론 루비 1.9와 새로운 해시 형식을 사용하면 3자를 더 짧게 갈 수 있습니다 ...

=f.hidden_field :title, value: "some value"

1
또는 <% = f.hidden_field : term_id, : value => @ transaction.term_id %>
mirap

2
이것이 정답입니다. 간단한 형식에 대한 질문이 있었지만 더 짧은 구문으로 똑같은 일을 수행 할 때 사용할 이유가 없습니다.
Greg Blass

5
= f.input_field :title, as: :hidden, value: "some value"

옵션이기도합니다. 그러나 양식 빌더에 대해 정의 된 랩퍼는 건너 뜁니다.


5

올바른 방법 (hidden_field 입력 값을 재설정하지 않으려는 경우)은 다음과 같습니다.

f.hidden_field :method, :value => value_of_the_hidden_field_as_it_comes_through_in_your_form

:method 객체에서 호출 할 때 원하는 값을 얻는 방법은 어디에 있습니까?

위의 예를 따르십시오.

= simple_form_for @movie do |f|
  = f.hidden :title, "some value"
  = f.button :submit

예제에 사용 된 코드는 양식에 의해 전달되는 @movie의 값 (: title)을 재설정합니다. 영화의 값 (: title)에 재설정하는 대신 액세스해야하는 경우 다음을 수행하십시오.

= simple_form_for @movie do |f|
  = f.hidden :title, :value => params[:movie][:title]
  = f.button :submit

다시 한 번 내 대답을 사용하면 사용자가 제출 한 값을 재설정하지 않으려는 것입니다.

이것이 의미가 있기를 바랍니다.


1
를 위해 simple_form_for, hidden여기를 사용 하는 방법 undefined method 은 # <SimpleForm :: FormBuilder : 0x00007ffa6cde0be8>`에 대해 숨겨진 오류를 발생 시킵니다 '
Kiry Meas
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.