2012-09-27 4 views
1

새 호텔을 만들고 편집하기위한 표준 레일 form_for 태그가 있습니다. 이것은 edit_hotels_path를 통해 방문했을 때 잘 렌더링되지만, new_hotels_path를 조회 할 때 html 양식 태그는 display: none;으로 설정되어 있기 때문에 양식이 "새"보기에만 표시되지 않습니다.레일스 form_for html이 표시되도록 설정되었습니다. 없음

서버를 다시 시작하고 캐시를 비우며 동일한 CSS를 사용하고 있지만 디스플레이가 none으로 설정되어 렌더링됩니다. 아래

<form accept-charset="UTF-8" action="/hotels" class="new_hotel" id="new_hotel" method="post" style="display: none; "><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓"><input name="authenticity_token" type="hidden" value="pDlR3gV2tm+Z7xRFdC0uclNY13FlzxUSOjOrHs2ttO0="></div> 

element.style { 
display: none; 
} 

디스플레이 포함하지 않는 렌더링되는 HTML 소스 인 현상 도구를 사용하여 본 여기서 스타일이다 : 없음;

<form accept-charset="UTF-8" action="/hotels" class="new_hotel" id="new_hotel" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="pDlR3gV2tm+Z7xRFdC0uclNY13FlzxUSOjOrHs2ttO0=" /></div> 

    <div class="control-group"> 
    <div class="controls"> 
    <input id="hotel_name" name="hotel[name]" placeholder="Name..." size="30" type="text" /><br> 
     <select id="hotel_year" name="hotel[year]"><option value="2012">2012</option> 
<option value="2013">2013</option> 
<option value="2014">2014</option> 
<option value="2015">2015</option></select><br> 
     <select id="hotel_month" name="hotel[month]"><option value="January">January</option> 
<option value="February">February</option> 
<option value="March">March</option> 
<option value="April">April</option> 
<option value="May">May</option> 
<option value="June">June</option> 
<option value="July">July</option> 
<option value="August">August</option> 
<option value="September">September</option> 
<option value="October">October</option> 
<option value="November">November</option> 
<option value="December">December</option></select><br> 

    <textarea cols="40" id="hotel_body" name="hotel[body]" placeholder="Hotel info up to 1000 words..." rows="20"> 
</textarea><br> 
    <input id="hotel_meta_tags" name="hotel[meta_tags]" placeholder="Enter meta tags for image, as a comma separated list..." size="30" type="text" /><br> 
<legend>Winner</legend> 
     <input name="hotel[winner]" type="hidden" value="0" /><input id="hotel_winner" name="hotel[winner]" type="checkbox" value="1" /> 
     <br/> 

    </div> 
<div class="form-actions"> 
    <input class="btn-large btn-success" name="commit" type="submit" value="create" /> 
    </div> 
</div> 
</form> 

아래 코드는 도움이 될 것입니다.

_form.html.erb

<%= form_for @hotel do |f| %> 
<% if @hotel.errors.any? %> 
    <div id="error_explanation"> 
    <h2><%= pluralize(@hotel.errors.count, "error") %> prohibited this article from being saved:</h2> 

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


    <%= render partial: "shared/code_sheet" %> 
    <div class="control-group"> 
    <div class="controls"> 
    <%= f.text_field :name, placeholder: "Name..." %><br> 
     <%= f.select :year, [2012, 2013, 2014, 2015] %><br> 
     <%= f.select :month, ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"] %><br> 

    <%= f.text_area :body, placeholder: "Hotel info up to 1000 words..." %><br> 
    <%= f.text_field :meta_tags, placeholder: "Enter meta tags for image, as a comma separated list..." %><br> 
<legend>Winner</legend> 
     <%= f.check_box :winner %> 
     <br/> 

    </div> 
<div class="form-actions"> 
    <%= f.submit "create", class: "btn-large btn-success" %> 
    </div> 
</div> 
<% end %> 

edit.html.erb

<div class="container"> 
<h1>Editing hotel</h1> 

<%= render "form" %> 
<%= link_to 'hotels index', hotels_path %> 
</div> 

new.html.erb

<div class="container"> 
<h1>New hotel</h1> 

<%= render "form" %> 
<%= link_to 'hotels index', hotels_path %> 
</div> 
+1

조회수/호텔에 js.erb가 있습니까? 또한 @hotel nil입니까? –

+0

아니,보기/호텔에서 자바 스크립트가없고, @hotel이 0이 아닌 것 같아요? 페이지에 적절한 HTML을 모두 렌더링하므로 소스에서 양식 태그와 자리 표시 자 및 레이블을 볼 수 있습니다. CSS 문제입니까? – dodgerogers747

+1

아무거나 일 수 있습니다. CSS에 무엇이 있는지 알아야합니다. 'display : none;'을 (를) 검색 했습니까? 귀하의 CSS 파일에서 일치를 확인하셨습니까? element.style은 대개 HTML 태그에서 직접 설정됩니다. 뷰를 검색하여 디버깅 문자열을 배치하여 적절한 .html을 가져 오는지 확인하십시오. –

답변

2

그것은 아무것도 될 수 있습니다. CSS에 무엇이 있는지 알아야합니다. 'display : none;'을 (를) 검색 했습니까? 귀하의 CSS 파일에서 일치를 확인하셨습니까? element.style은 대개 HTML 태그에서 직접 설정됩니다. 뷰를 검색하여 디버깅 문자열을 배치하여 적절한 .html을 가져 오는지 확인하십시오.