2013-06-15 4 views
0

Пропуск id от link_to до locals. Но он не может найти результат, говоря cannot find article without id. Мне нужно передать идентификатор для отображения articles в модальном формате.Как передать id из link_to местным жителям?

<% @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 

И я получаю идентификатор от контроллера. Это не нуль. Дело в том, что я могу найти статьи в block, но не могу отправить их местным жителям.

ответ

0

это потому, что PARAMS [: идентификатор] является нулем или запись с Params [: ID] не существует

В контроллере вы должны найти, где существует ли статья с определенным идентификатором, если не справиться с этим

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

Хорошая практика - не использовать искатели во взглядах.

+0

Ive обновлен кодом контроллера. Я думаю, что что-то не так с синтаксисом. –

0

убедитесь, что params [: id] не ноль, а при прохождении локальных сетей вы всегда должны использовать символы и обращаться к ним как к локальным переменным в частичном , например.

"Сайт # шоу",: местные => {: статья => Article.find (PARAMS [: идентификатор])}%>

в _show.html.erb

использовать его как

+0

im с использованием мода бутстрапа .. http://twitter.github.io/bootstrap/javascript.html#modals –

+0

как-то id уже проходит, но не тот, который мне нужно передать .. 'id = # myModal' это проходит .. но m не может передать ': id => a.id' –

Смежные вопросы