Rails 3 link_to частичная структура - PullRequest
0 голосов
/ 17 октября 2011

Я хочу создать link_to рендер :partial. У меня уже есть две части, которые хранятся в папке представлений, в которой я называю link_to (то есть представления профилей). Получение JavaScript для загрузки данных является следующим шагом, но у меня возникают проблемы с правильной структурой link_to.

Вот что у меня было:

<ul id="infoContainer">
  <li><%= link_to render(:partial => "about") do %>About<% end %></li>
  <li><%= link_to render(:partial => "other") do %>Other<% end %></li>
</ul>

Используя их, обе части, отображаемые в моем show.html.erb, и ссылки исчезли.

Итак, я попробовал следующее:

<ul id="infoContainer">
  <li><%= link_to render(:partial => 'about'), :class => "a", :remote => true do %>About<% end %></li>
  <li><%= link_to render(:partial => 'other'), :class => "o", :remote => true do %>Other<% end %></li>
</ul>

Обе части по-прежнему отображаются, а текстовые ссылки «О программе» / «Другие» по-прежнему не отображаются.

ОБНОВЛЕНИЕ: Так что, возможно, ссылка работает. Это просто не рендеринг ничего. Я должен исправить это с помощью JavaScript.

<li><%= link_to "About", (:partial => 'about'}, {:class => "a"}, :remote => true %></li>
<li><%= link_to "Other", (:partial => 'other'}, {:class => "o"}, :remote => true %></li>

Использование link_to выше делает URL: /profiles/1?partial=about

Ответы [ 2 ]

3 голосов
/ 17 октября 2011

вы используете link_to неправильно - проверьте API / docs

это называется либо:

link_to(body, url, html_options = {})
  # url is a String; you can use URL helpers like
  # posts_path

link_to(body, url_options = {}, html_options = {})
  # url_options, except :confirm or :method,
  # is passed to url_for

link_to(options = {}, html_options = {}) do
  # name
end

link_to(url, html_options = {}) do
  # name
end

См:

http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-link_to

http://apidock.com/rails/ActionView/Helpers/UrlHelper/link_to

и, возможно:

Синтаксис link_to с rails3 (link_to_remote) и базовый JavaScript не работает в приложении rails3?

0 голосов
/ 26 декабря 2012
<ul id="infoContainer">
  <li><%= link_to render(:partial => 'about'), urlyouwant %></li>
  <li><%= link_to render(:partial => 'other'), urlyouwant %></li>
</ul>

Если вы хотите запускать javascript при нажатии пользователем, вы можете прочитать больше на http://api.rubyonrails.org/classes/ActionView/Helpers/JavaScriptHelper.html#method-i-link_to_function

<ul id="infoContainer">
  <li><%= link_to_function render(:partial => 'about'), "alert('About!')" %></li>
  <li><%= link_to_function render(:partial => 'other'), "alert('Other!')" %></li>
</ul>
...