对于上帝的爱,我几个小时都在为此而奋斗。使用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 %>
生成的网址如下所示:
<a href="/explore/index/theme-tag-user-3?url[controller]=themes&url[action]=remove_tag&url[entity_id]=3&url[theme_id]=16&url[entity]=user&url[element_id]=filter-contributor-3&url[parent_id]=filter-contributors&remote=true&class=tag">
测试描述符
我无法正确指出文本“测试描述符”实际上是否正确包含在范围内;代码格式化在这里失败了一些,但是,href是错误的,没有类或id,而且下坡它继续滚动
如果我不需要块,我可以添加名称而不必指定:url =&gt; {...}(如果关闭会抛出一个异常,请继续执行),然后按照使用:remote =&gt; true,:id =&gt;“whatever”,:class =&gt;“blah”并且它有效。我究竟做错了什么?因为我一般都是rails的新手,所以我也想了解为什么这种语法必须有这么大的差异?我的意思是,非常感谢上帝,你不必在网络应用中写出很多像这样的链接...; - )
提前致谢
答案 0 :(得分:3)
原来你必须做url_for(...)而不是:url =&gt; {...}并且它都按预期工作。
答案 1 :(得分: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 %>