2011-10-17 61 views
0

我想创建一个link_to呈现:partial。我有两个部分已存储在视图文件夹中,我称之为link_to(这是配置文件视图)。获取JavaScript来加载数据是下一步,但我在正确构建link_to时遇到问题。Rails 3 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> 

两个谐音仍显示和“关于” /“其他”的文字链接还是没有显示。

更新:所以我可能有link_to工作。它只是没有渲染任何东西。需要用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使得网址:/profiles/1?partial=about

+1

更多使用“link_to”的块形式就像第一个argume一样nt应该是一个URL或一个ActiveRecord对象,或一个选项散列。但是,您将'render'的结果传递给它,它将返回一个呈现的视图。你想让'render'返回的视图成为该链接的主体吗? –

+0

不,我希望链接的主体只是链接的单词。然后当你点击它时,视图应该是局部的。 – tvalent2

+0

刚刚更新了我的问题。这似乎是工作... – tvalent2

回答

2

你正在使用的link_to错误 - 请检查API /文档

,它被称为之一:

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 syntax with rails3 (link_to_remote) and basic javascript not working in a rails3 app?

+0

我更新了我的问题。我想我右下角有'link_to'。现在我需要在JavaScript端工作来显示/隐藏布局。 – tvalent2

+0

你应该提出第二个问题 – Tilo

+0

当然,我计划!谢谢。 – tvalent2

0
<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>