Ruby on rails 向链接添加类会破坏链接
我正在RoR 3中使用link_to 当我这样使用它时,效果很好:Ruby on rails 向链接添加类会破坏链接,ruby-on-rails,link-to,Ruby On Rails,Link To,我正在RoR 3中使用link_to 当我这样使用它时,效果很好: <%= link_to "Add to your favorites list",:controller => 'favourite_companies', :action =>'create', :company_id=>"#{@company.id}", :company_name=>"#{@company.com
<%= link_to "Add to your favorites list",:controller =>
'favourite_companies', :action =>'create',
:company_id=>"#{@company.id}",
:company_name=>"#{@company.company_name}" %>
“最受欢迎的公司”:action=>“create”,
:company_id=>“#{@company.id}”,
:company_name=>“#{@company.company_name}”%>
但我也想通过一门课
然而,这对我不起作用。这个类可以工作,但它破坏了链接。有什么想法吗
<%= link_to "Add to your favorites list",{:controller =>
'favourite_companies', :action =>'create'},
:company_id=>"#{@company.id}",
:company_name=>"#{@company.company_name}",
:class=>"ui-button-text button_text"} %>
“最受欢迎的公司”,:action=>create},
:company_id=>“#{@company.id}”,
:company_name=>“#{@company.company_name}”,
:class=>“ui按钮文本按钮”}%>
正确的方法如下:
link_to "Foo", { URL_FOR PARAMS HERE }, :class => "bar"
至于像这样手动设置控制器和操作,那是废话。Rails为您构建url帮助程序;使用它们,为自己节省一些时间、精力,同时增加清晰度:
link_to "Foo", favourite_companies_path(@company), :method => :post
使用字符串插值也是一个坏主意……它只是毫无理由的浪费和混乱。以下是相同的,只是更好:
link_to "Foo", :company_id => @company.id, :company_name => @company.name
至于你的链接不起作用的原因,如果将它包装在div中有助于听起来你的HTML结构有问题,而不是链接到语法。我正在使用链接来完成结束块,所以上面的解决方案对我不起作用 如果要在a标记中嵌入其他标记,则可以使用“链接\完成”结束块
<%= link_to favourite_companies_path(:company_id => @company.id, :another_url_param_here => "bar"), { :class => "ui-button-text button_text", :title=> "We can have more html attributes as well" } do %>
<i class="fa fa-star"></i>
<%= @company.company_name %>
<% end %>
@company.id,:另一个url\u param\u here=>“bar”),{:class=>“ui按钮文本按钮”,:title=>“我们还可以有更多html属性”}do%>
在这种情况下,它是
<%= link_to path(url_params), html_options = {} do %>
<% end %>
要小心,因为在Rails 5中,上述方法仍然会导致错误的URL生成。控制器和操作需要放入文本散列中,以便在Rails 5中工作。你要的应该是这样的
<%= link_to "Add to your favorites list",
{ controller: "favourite_companies", action:"create"},
company_id: @company.id,
company_name: @company.company_name,
class: "ui-button-text button_text" %>
您能否根据该代码发布生成的html输出?您的@company.company\u名称是否可能输出了破坏html的内容?是不是输入错误,您在:class=>“ui按钮文本”
声明后有一个大括号?
<%= link_to favourite_companies_path(:company_id => @company.id, :another_url_param_here => "bar"), { :class => "ui-button-text button_text", :title=> "We can have more html attributes as well" } do %>
<i class="fa fa-star"></i>
<%= @company.company_name %>
<% end %>
<%= link_to path(url_params), html_options = {} do %>
<% end %>
<%= link_to "Add to your favorites list",
{ controller: "favourite_companies", action:"create"},
company_id: @company.id,
company_name: @company.company_name,
class: "ui-button-text button_text" %>