【发布时间】:2014-02-11 15:15:11
【问题描述】:
我正在尝试在 rails 4 中使用 link_to 与控制器和 html 选项以及 do..end 块。 我见过类似的发布但未能成功使用任何答案。
没有 do..end 块的工作代码:
<%= link_to 'recommend', { controller: 'recommendations', id: offer.id }, method: :post %>
当我尝试使用一些嵌入式 ruby 向链接添加额外信息时,我无法让它工作:
<%= link_to( { controller: 'recommendations', id: offer.id }, method: :post) do %>
<p>Some Html</p><%= offer.recommendations %>
<% end %>
代码编译,但在渲染中,生成的链接如下:
<a controller="recommendations" id="38">
<p>Some Html</p>0
</a>
任何帮助将不胜感激。我认为这是语法上的一个小问题,但我尝试了各种括号、空格等,但我没有运气就可以想到。
更新:我尝试了以下代码但没有成功:
<%= link_to( { controller: 'recommendations', action: 'create', id: offer.id }, method: :post) do %>
<p>Some Html</p><%= offer.recommendations %>
<% end %>
HTML 输出为:
<a action="create" controller="recommendations" id="39">
<p>Some Html</p>0
</a>
这可能并不重要,但作为旁注,创建操作没有链接的帮助函数。当我运行
rake routes
我得到以下命令
...
recommendations GET /recommendations(.:format) recommendations#index
POST /recommendations(.:format) recommendations#create
new_recommendation GET /recommendations/new(.:format) recommendations#new
...
在我看来,这不是问题,但它是如下代码的原因:
link_to create_recommendation_path
行不通。最后,链接的目的是充当“喜欢”按钮。它创建一个推荐,然后再次显示当前页面。再次感谢您提前提供的帮助。
【问题讨论】:
标签: ruby-on-rails ruby erb link-to