我将id
从link_to
传递给locals
。但它无法找到结果,说cannot find article without id
。我需要在模态中传递显示articles
的ID。
<% @articles.each do |a|%>
<p>
<%= link_to a.title, {"data-toggle" => "modal", "data-target" => '#myModal', :id => a.id}%>
</p>
<% end %>
<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria labelledby="myModalLabel" aria-hidden="true">
<%= render :partial => "site#show", :locals => {@article => Article.find(params[:id])}%>
</div>
在控制器中
def home
@articles = Article.order("created_at DESC").limit(5)
@videos = Video.order("created_at DESC").limit(5)
end
我从控制器获取id。这不是nill。
事情是我能够找到block
中的文章,但无法将其发送给当地人。
答案 0 :(得分:0)
这是因为params [:id]为null或者params [:id]的记录不存在
在控制器中,您应该找到具有特定ID的文章是否存在,如果不处理它
@article = Article.find(params[:id])
良好的做法是不在视图中使用查找器。
答案 1 :(得分:0)
确保params [:id]不是nil并且在传递locals时你应该总是使用符号并将它们作为局部变量访问局部变量 例如
“site#show”,:locals =&gt; {:article =&gt; Article.find(PARAMS [:ID])}%GT;在_show.html.erb
中将其用作