[ruby-on-rails] rails simple_form-숨겨진 필드-작성?

간단한 형태의 숨겨진 필드를 어떻게 가질 수 있습니까?

다음 코드 :

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

이 오류가 발생합니다.

undefined method `hidden' for #SimpleForm::FormBuilder:0x000001042b7cd0



답변

이 시도

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


답변

최단 !!!

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

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

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

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


답변

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

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


답변

올바른 방법 (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

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

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


답변