가능한 중복 :
Ruby on Rails: How to have multiple submit buttons going to different methods (maybe with with_action?)검출 여러 submit_tag 클릭
형태로는 좀 submit_tags을 가지고 서버 측에서 나는 클릭 된 하나의 감지해야합니다. 난 항상 같은
가능한 중복 :
Ruby on Rails: How to have multiple submit buttons going to different methods (maybe with with_action?)검출 여러 submit_tag 클릭
형태로는 좀 submit_tags을 가지고 서버 측에서 나는 클릭 된 하나의 감지해야합니다. 난 항상 같은
는 IS 현재 작업 이름 만 params[:action]
이
<%= form_tag controller_action_path(:id => @project.id), :method => :post do %>
<% if @project_is_synced %>
<%= submit_tag 'Update synchronization', :name => 'update' %>
<%= submit_tag 'Stop synchronization', :name => 'stop' %>
<% else %>
<%= submit_tag 'Start synchronization', :name => 'start' %>
<% end %>
<% end %>
: 만 PARAMS에서 작업 이름을 가져 서버 측에서 : 이것은 내가 작동하지 해봤이다 이 문제를 디버깅하는 가장 쉬운 방법은 로컬로 실행하고 그들이 통해 오는대로 매개 변수를 보면, 또는 행동에 매개 변수를 기록하는 것입니다 : 당신은 submit_tags라는 이름의 한
if request.post?
logger.warn "POST #{params}"
end
, 그래서 대신 기본 이름의 '저지' 각 버튼마다 다른 n ame이고 'start', 'stop'또는 'update'매개 변수를 확인해야합니다. 뷰를 변경하지 않으 그러나 경우이 사용 (분명히 렌더링 코드를 교체), 변화하는 값 :
if params[:start]
render :text => "start"
elsif params[:update]
render :text => "update"
else
render :text => "stop"
end
: [커밋]
단순한 이름을 제거하고 확인 PARAMS을 위해 단지이다
링크 된 게시물의 답변에 대한 의견은이 문제를 다루지 만, 왜 당신이 그것을 놓쳤는 지 알 수 있습니다.
매개 변수했다 : { "UTF8"=> "✓" "authenticity_token"=> "fhtuzoK/U7KkZ8Fm/Wj5bIscoO2tEhPxJMQw0AK1O6I =" ""releases"=> "true", "events"=> "true", "usecases"=> "true", "id"=> "1"} 프로젝트 이름을 입력하십시오. – Dmitry
이 문제가있는 것처럼 보입니다. http://stackoverflow.com/questions/2000111/rails-is-not-passing-the-commit-button-parameter – Dmitry
매개 변수가 위의 게시 된 양식과 일치하지 않으며 어떻게 든 커밋 버튼이 제거되므로 위 코드가 작동하지 않도록 설정 한 경우 비활성화해야합니다 (주의 : 커밋 버튼의 이름 지정에 대한 노트는 여전히 appl입니다. ies) –
아니, 그 링크도 작동하지 않습니다, 나는 이미 그것을 시도했습니다 – Dmitry