我在这个存储库中看到了这段代码:
<%= link_to(:controller => 'account', :action => 'select', :account_id => account.customer_id) { account.customer_id.to_s } %>
(<%= account.login %> / <%= account.company_name %> )
这实际上转换为以下 HTML:
<a account_id="8282277272" action="select" controller="account">8282277272</a>
( loginname / companyname )
我想知道您将如何将 block 传递给 link_to 以使其工作?
最佳答案
我想这就是您要找的。 “do..end”中的内容将被放入 a 标签中。
<%= link_to(:controller => 'account', :action => 'select', :account_id => account.customer_id) do %>
(<%= account.login %> / <%= account.company_name %> )
<% end %>
它应该产生
<a href="<path to controller with account_id parameter>">
(username / Company, Inc.)
</a>
您的原始代码中发生的事情是表达式 { account.customer_id.to_s }
作为 block 传递给 link_to。如果您希望客户 ID 与“登录名”和“公司名称”一起显示,请将其放在 block 内。
关于ruby-on-rails - link_to 与 Rails 中的 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20690148/