さて、この質問は html.erb コードの適切な構文に関係しています。私がやろうとしているのは、ポップオーバー ボタンを使用してフォームを表示することです。button_tag 関数を使用してボタンを作成でき、form_tag 関数からフォームを作成できますが、一方を他方の内部に埋め込むことはできません。これが私がやるべきことであるかどうか、私は完全には確信していません。私の理解では、ベスト プラクティスは、erb を使用してページを生成できる場合は、html を使用しないことです。
とにかく、ここに私がこれまでに持っているコードがあります:
<%= button_tag "Remove Friend", :title=>"Remove from Friend List",
:id=>"removeFriend", :class=>"btn btn-default", :rel=>"popover",
:data => {:html=>"true", :placement=>"top", :content=>
"form_tag(\"/friend\", method: \"post\") do
label_tag(:symbolInput, \"Enter Username\")
text_field_tag(:symbolInput)
submit_tag(\"Remove\")
end"}%>
これが行うことは、次の HTML を生成することです。
<button class="btn btn-default" data-content="form_tag("/friend",
method: "post") do
label_tag(:symbolInput, "Enter Username")
text_field_tag(:symbolInput)
submit_tag("Remove")
end" data-html="true" data-placement="top" id="removeFriend"
name="button" rel= "popover" title="Remove from Friend List"
type="submit">Remove Friend</button>
したがって、本質的には、文字通り erb コードをテキストとしてポップオーバーにコピーしただけです。
また、各行を <%= %> でフレーミングしようとしましたが、これの構文がどうなるか、またはいつそれを行うべきかについては非常に不明です。
基本的に、フォームの erb を html に変換する必要があります。これは、button_tag の :content セクションに渡されます。
私はこの方法でこれを行うべきですか、それとも私がやろうとしていることを達成するための他の方法はありますか? Railsは初めてなので、ベストプラクティスが何であるかわかりません。
ちなみに、html を使用してフォームまたはボタンのいずれかをコーディングし、erb をもう一方に使用すると、完全に機能するため、回避策があります。