3

看在上帝的份上,我已经为此努力了好几个小时。使用 rails3 rc,1.9.2。

我正在尝试创建一个 link_to 来提交带有参数、类和 id 的 ajax 请求,并且需要一个块,以便我可以在名称周围插入一个 span 标签。文档的帮助绝对为零,许多谷歌搜索也是如此。这是我到目前为止所得到的:

<%= link_to(
      :url=>{
        :controller => 'themes', :action => 'remove_tag',
        :entity_id => entity_id, :theme_id => theme_id,
        :entity => entity, :element_id => element_id, :parent_id=>parent_id
      },
      :remote => true,
      :id => "theme-tag-#{entity}-#{entity_id}",
      :class => "tag")  do %>
  <span class='subtract'><%= tag %></span>
<% end %>

生成的 url 如下所示:

<a href="/explore/index/theme-tag-user-3?url[controller]=themes&amp;url[action]=remove_tag&amp;url[entity_id]=3&amp;url[theme_id]=16&amp;url[entity]=user&amp;url[element_id]=filter-contributor-3&amp;url[parent_id]=filter-contributors&amp;remote=true&amp;class=tag">

测试描述符

我无法正确指出文本“测试描述符”实际上正确包含在跨度中;代码格式在这里有点失败,但是,href 是错误的,没有类或 id,并且下坡它继续滚动

如果我不需要该块,我可以只添加名称而不必指定 :url=>{...} (如果关闭会引发块异常,请看图),然后使用 :remote =>true, :id=>"whatever", :class=>"blah" 并且有效。我究竟做错了什么?因为我通常是新来的 Rails,所以我也想了解为什么这种语法必须如此不同?我的意思是,真的,感谢上帝,您不必在网络应用程序中写很多这样的链接...... ;-)

提前致谢

4

2 回答 2

3

原来你必须做 url_for(...) 而不是 :url=>{...} 并且一切都按预期工作。

于 2010-09-10T01:31:13.253 回答
2

只需将 wkhatch 的评论放在这里,这样它的格式就很好了。

<%= link_to(
    url_for(:controller=>'themes', 
            :action=>'remove_tag', 
            :entity_id=>entity_id, 
            :theme_id=>theme_id, 
            :entity=>entity, 
            :element_id=>element_id, 
            :parent_id=>parent_id), 
    :remote=>true, 
    :id=>"theme-tag-#{entity}-#{entity_id}") do %>
       <span class='subtract'></span><%= tag %>
<% end %>
于 2013-07-14T17:58:16.383 回答