"myAction", :id =>"> "myAction", :id =>"> "myAction", :id =>" />

Raylar 3: Form Gönderme - Metin Alanını Ayarlama: kimlik

Bir textfield ve bir gönder düğmesi ile basit bir sayfam var. Kullanıcının bir dize girmesini ve gönder düğmesinin kullanıcıyı belirli bir sayfaya yönlendirmesini istiyorum. Burada metin alanı URL: id olarak URL’de.

Örneğin, kullanıcı "test" girerse, gönder 'i tıklamak onu "/ controller/action/test" e göndermelidir.

Mümkün mü? Denedim:

<%= form_tag :controller => "myController", :action => "myAction", :id => :textFieldName do %> ...

ama bu işe yaramıyor. (Bundan şüphelenmedim.)

Teşekkürler

0

2 cevap

Javascript kullanmalısın. En basit haliyle

$('form').submit(function() {
  $(this).attr('action') = '/url/prefix/' + $(this).find('input#the_field').val();
  return true;
});

Sonra işleyici geri dönmeli ve form yeni URL'ye gönderilmelidir.

Ayrıca, alanın içeriğini de doğrulamanız/normalleştirmeniz gerektiğini unutmayın.

0
katma

Sen deneyebilirsin ...

Form etiketinin kimliğini ayarlama. Bunun yerine, metin alanının değerini params karma noktasından nereye yönlendirileceğinizin belirtisi olarak alın.

yani görüşte ...

<% text_field_tag :id => "test_value" ... %>

ve kontrolörde ...

redirect_to "/action/" + params[:test_value]
0
katma