Javascript 未知关键字确保问题

Javascript 未知关键字确保问题,javascript,jquery,html,ruby-on-rails,ruby,Javascript,Jquery,Html,Ruby On Rails,Ruby,我有一个rails 4应用程序,其中有一行代码如下: <%= f.select :type_of, %w[Bookshelf Birdhouse Book Cabinet], {}, onChange: "alert("<%= render 'stores/product_form/bookshelf', f:f %>")" %> <div id='newContent'> <%= render 'stores/pro

我有一个rails 4应用程序,其中有一行代码如下:

<%= f.select :type_of, %w[Bookshelf Birdhouse Book Cabinet], {},
                onChange: "alert("<%= render 'stores/product_form/bookshelf', f:f %>")" %>
<div id='newContent'>
  <%= render 'stores/product_form/bookshelf', f:f %>
</div>
编辑

这是我的新选择/下拉代码:

<%= f.select :type_of, %w[Bookshelf Birdhouse Book Cabinet], {}, class: "",
                onChange: 'alert(" #{ raw(render "stores/product_form/bookshelf", f:f)} ")' %>

我已经用raw和without进行了尝试,但这两种方法仍然不能以ruby代码的形式呈现,它们只是以html的形式呈现出来。您不希望将分部的内容呈现到onChange处理程序中。您需要的是onChange处理程序触发部分对象的呈现

你想要这样的东西:

User Selects Option in Dropdown
            |
            v
onChange Handler Runs
            |
            v
Handler triggers AJAX request
            |
            v
Server returns javascript partial
            |
            v
Handler processes AJAX response
            |
            v
AJAX response renders HTML onto page

查看一些实际的代码示例。

哪个html.erb导致了问题?此外,您还可以将onChange:alert设置为:onChange:'alert{render stores/product_form/bookshelf,f:f}'试试这个?正如@Surya所建议的,您不能在另一个标记中使用标记。在这种情况下使用基本的字符串插值表示法:onChange:alert'{render'stores/product_form/bookshelf',f:f}'另外,请注意Surya建议中的引号-single和double可能会导致当前代码中的语法错误。好的,我已经尝试过插值字符串,但现在它不再作为rails代码呈现了?这是new.html.erb文件的呈现html
User Selects Option in Dropdown
            |
            v
onChange Handler Runs
            |
            v
Handler triggers AJAX request
            |
            v
Server returns javascript partial
            |
            v
Handler processes AJAX response
            |
            v
AJAX response renders HTML onto page