0

ユーザーが現在表示しているページから (可能であれば) テキストをレールの「新しい」アクションに「投稿」して、ユーザーが送信する前に確認できるように、特定のフィールドをプリロードできるようにしたいと考えています。フォーム。ajax の投稿が役立つかどうかはわかりません。IE の文字制限により、クエリ文字列を使用した 'new' への GET 呼び出しは機能しません。ありがとうございました。

4

1 に答える 1

1

:value次の属性を使用します。

<%= f.text_field :name, :value => @default_name %>

次に、(たとえば)必要な変数を次のように POST しますlink_to

<%= link_to "Form", form_path, :method => :POST, :default_name => "Bob" %>

または(別の例)javascript(jQuery)を使用:

**ページがリダイレクトされないため、AJAX 投稿は機能しません。フォーム投稿をシミュレートする必要があります。

<a href="" id="form_link">Form Page</a> // link to form page

<form id="form" action="http://example.com/form" method="POST">  // hidden form
    <input type="hidden" name="default_name" value="Bob" />  
</form>

$("#form_link").click(function() {  // jQuery to submit the form when the link is clicked
  $("#form").submit();
});

名前フィールドには「Bob」が事前入力されます。もちろん、コントローラーアクションには次のものが必要です。

@default_name = params[:default_name]
于 2012-05-24T06:34:50.103 に答える