새 호텔을 만들고 편집하기위한 표준 레일 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="✓" /><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>
조회수/호텔에 js.erb가 있습니까? 또한 @hotel nil입니까? –
아니,보기/호텔에서 자바 스크립트가없고, @hotel이 0이 아닌 것 같아요? 페이지에 적절한 HTML을 모두 렌더링하므로 소스에서 양식 태그와 자리 표시 자 및 레이블을 볼 수 있습니다. CSS 문제입니까? – dodgerogers747
아무거나 일 수 있습니다. CSS에 무엇이 있는지 알아야합니다. 'display : none;'을 (를) 검색 했습니까? 귀하의 CSS 파일에서 일치를 확인하셨습니까? element.style은 대개 HTML 태그에서 직접 설정됩니다. 뷰를 검색하여 디버깅 문자열을 배치하여 적절한 .html을 가져 오는지 확인하십시오. –