1

まだレールを学んでいて、私の最初のプロジェクトをやっています。

「ページ」コントローラの「新規」メソッドに追加の「カテゴリ」変数を渡そうとしています

def new
    @page = Page.new
    @cats = Cat.all
end

私はそれをやっているので、新しいページはすでにドロップダウンメニューからカテゴリを選択しています

link_to を使用すると機能します

<%= link_to "Create new page", new_page_path(:cat => @cat.id) %>

しかし、button_toを使用しようとすると

<%= button_to "Create new page", new_page_path(:cat => @cat.id), method: :get %>

変数 "cat" は "new" アクション ビューに渡されません。それは大きな問題ではありませんが、他のすべての場所でbutton_toを使用しているため、レイアウトが台無しになり、cssを追加して同じように見えるようにするより良い解決方法があることを願っていました

4

1 に答える 1

0

これを解決する方法の 1 つは、隠しフィールドを持つフォームを作成することです。

<%= form_tag new_page_path(), :method => :get do
    hidden_field_tag "cat", @cat.id
    button_to "Create new page"
end %>

「button_to」メソッドは、入力フィールドからのみパラメータをブラウザに渡すフォームを作成するため、あなたのバージョンは機能しません。

于 2012-06-21T15:30:50.437 に答える