Ruby on Rails의 form_for에서 hidden_field를 어떻게 사용하나요?


83

본인은했습니다 ,하지만 약간의 문제를 인식하지 못했습니다 그래서 나는 RoR에 새로운 해요. 양식을 사용하여 새 요청 레코드를 만들고 있으며 보내야하는 모든 변수가 이미 존재합니다. 보내야 할 데이터는 다음과 같습니다 (do 루프에 있음).

:user_id => w[:requesteeID]
:requesteeName => current_user.name
:requesteeEmail => current_user.email
:info => e

지금까지 작동하지만 모든 것에 대해 NULL 값만 보내는 내 양식은 다음과 같습니다.

<% form_for(:request, :url => requests_path) do |f| %>
    <div class="actions">
        <%= f.submit e %>
    </div>
<% end %>

hidden_fields를 사용하여 이미 가지고있는 데이터를 보내려면 어떻게해야합니까? 읽어 주셔서 감사합니다.


방금 <% = f.hidden_field : user_id, : value => w [: calleeID] %> 시도했지만 NULL을 보냈습니다
ben

답변:


104

ref hidden_field 또는 hidden_field_tag

<% form_for(:request, :url => requests_path) do |f| %>
    <div class="actions">
        <%= f.hidden_field :some_column %>
        <%= hidden_field_tag 'selected', 'none'  %>
        <%= f.submit e %>
    </div>
<% end %>

그런 다음 컨트롤러에서

 params[:selected]="none"
 params[:request][:some_column] = request.some_column

사용시 참고

   <%= f.hidden_field :some_column %>

html로 변경

<input type="hidden" id="request_some_column" name="request[some_column]" value="#{@request.some_column}" />

그리고 당신이 사용했을 때

<%= hidden_field_tag 'selected', 'none'  %>

html로 변경

   <input id="selected" name="selected" type="hidden" value="none"/>

78

다음과 같이 모델에 대한 숨겨진 입력으로 사용자 지정 값을 보낼 수 있습니다.

<%= f.hidden_field :your_model_field_name, value: 12 %>

어디 value: 12그냥 데모입니다,하지만 당신은 당신이 필요로하는 어떤 값을 전달할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.