0

我正在传递idfromlink_tolocals。但它无法找到结果,说cannot find article without id。我需要传递 id 以articles在模态中显示。

<% @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。这不是零。事情是我能够在其中找到文章block但无法将其发送给当地人。

4

2 回答 2

0

这是因为 params[:id] 为 null 或带有 params[:id] 的记录不存在

在控制器中,如果不处理,您应该找到具有特定 id 的文章是否存在的位置

@article = Article.find(params[:id])

好的做法是不在视图中使用查找器。

于 2013-06-17T07:15:08.223 回答
0

确保 params[:id] 不是 nil 并且在传递本地变量时,您应该始终使用符号并将它们作为局部变量中的局部变量访问,例如

"site#show", :locals => { :article => Article.find(params[:id])}%>

在 _show.html.erb

用它作为

于 2013-06-17T07:16:07.473 回答