이미지 (image_submit_tag)가 아닌 단추 (submit_tag 포함)가 아닌 양식으로 제출 작업을 만드는 방법은 무엇입니까?레일에 단추 또는 이미지가없는 submit_tag
나는 당신이 할 필요가 연결되는 링크와 같은 클릭 가능한 텍스트로
감사
이미지 (image_submit_tag)가 아닌 단추 (submit_tag 포함)가 아닌 양식으로 제출 작업을 만드는 방법은 무엇입니까?레일에 단추 또는 이미지가없는 submit_tag
나는 당신이 할 필요가 연결되는 링크와 같은 클릭 가능한 텍스트로
감사
을 제출하고자하는 자바 스크립트와 링크는 GET 요청이 아닌 POST 요청 때문에. 따라서 다음 코드를 가지고 있다고 가정 해 보겠습니다.
<%= form_for @post, :html => { :id => 'form' } do |f| %>
<div class="field">
<%= f.label :title %>
<%= f.text_field :title %>
</div>
<div class="field">
<%= f.label :body %>
<%= f.text_area :body %>
</div>
<div class="actions">
<a id="submit">Submit</a>
</div>
<% end %>
다음은 자바 스크립트 파일 중 하나에 다음을 추가해야합니다. < Rails 3.1을 사용하는 경우이 파일을 application.js에 추가하기 만하면됩니다. Rails 3.1을 사용하는 경우 assets/javascript 디렉토리의 js 파일 중 하나에 추가하십시오.
$(function() {
$('#submit').click(function() {
$('#form').submit();
});
});
즉, POST를 사용하려면 link_to 메서드 호출에 메서드 옵션을 전달할 수 있습니다. 그러나 자바 스크립트를 사용하지 않고이를 수행하면 양식 데이터가 제출되지 않습니다. 따라서 위의 작업을 수행하거나 자바 스크립트를 사용하여 쿼리 문자열에있는 것처럼 URL에 데이터를 추가해야합니다.
<a><%= submit_tag "Submit", class: "fake-button" %></a>
그런 다음, 유행에 따라 디자인을 변경 :
.fake-button {
padding: 0;
border: none;
display: inline;
}
그래서 기술적으로 여전히 버튼의하지만 매우 링크처럼 보이는
여기에 내가했던 한 방법입니다. 그것은 조금 해키지만 :)
고마워. application.js에 추가하면 모든보기, 페이지 등에 적용될 수 있습니까? –
내 기본 application.js가 레이아웃 파일에 포함되어 있습니다. 보시고 싶다면'<% = javascript_include_tag : defaults %>'또는 그와 비슷한 것을 확인하십시오. 기본값 기호에는 application.js뿐만 아니라 다양한 js 라이브러리가 포함됩니다. Rails 3.1이 아닌 경우 위 코드가 작동하려면 jQuery를 애플리케이션에 추가해야 할 수도 있습니다. – agmcleod