現在、いくつかの html を返し、ページのコンテンツを置き換えるパーシャルがあります。しかし、私の人生では、レンダリングをエスケープすることはできません。
> render(:partial => @partial)
> => "<table>\n <tr>\n <td>\n <input id=\"target_columns_\" name=\"target_columns[]\" type=\"checkbox\" value=\"id\" />\n
> <label for=\"id\">Id</label><br />\n <input
> id=\"target_columns_\" name=\"target_columns[]\" type=\"checkbox\"
> value=\"email\" />\n <label for=\"email\">Email</label><br />\n
> </td>\n <td>\n <input id=\"target_columns_\"
> name=\"target_columns[]\" type=\"checkbox\" value=\"created_at\" />\n
> <label for=\"created_at\">Created at</label><br />\n <input
> id=\"target_columns_\" name=\"target_columns[]\" type=\"checkbox\"
> value=\"updated_at\" />\n <label for=\"updated_at\">Updated
> at</label><br />\n </td>\n </tr>\n</table>\n"
raw、html_safeを試しました...何も機能していないようです。「」であってほしいだけだと思います。現在、ページ上で置き換えると、実際には何らかの理由でテキスト フィールドとしてレンダリングされます。
ページのコンテンツを置き換え、レンダリングを行う JS を次に示します。
$("#field-list").html('<%= j(render(:partial => @partial)) %>');