1

我有一个循环,可以从模态创建作品列表work

//确实有效,但希望测试 <%= 有效。名称 %>

<ol class="meny-control mobile"> 
   <% @works.each do |work| %>
       <li class="" data-id="<%= work.id %>"><%= link_to 'test', work %></li>
   <% end %>
</ol>

//不工作,但希望它

<ol class="meny-control mobile"> 
       <% @works.each do |work| %>
           <li class="" data-id="<%= work.id %>"><%= link_to '<%= work.name %>', work %></li>
       <% end %>
    </ol>

正如您所猜测的那样,它会<%= work.name %>引发语法错误。如何正确格式化link_to以将每个显示work.name为“路径”&& 锚的内部 html 为work.name.

作为 Rails 新手,我在正确理解文档方面仍然非常不确定。您能否参考link_to()(如果有的话)解释这种格式的地方,以便我将其用于将来的参考和理解——以及如何正确编辑堆栈问题标题以解决未来的类似问题。

4

2 回答 2

6

错误是因为<%标签的嵌套,我想你已经意识到了。要解决您的问题,请使用以下命令:

<%= link_to "#{work.name}", work %>

#{}用于插入变量,即用字符串文字中的值替换变量,如上link_to "#{work.name}"所示,其中work.name将替换为值work.name

于 2013-08-18T23:09:20.077 回答
2

你不需要"#{}"

你可以这样写:<%= link_to work.name, work %>

于 2015-02-14T12:16:05.677 回答