如何在rails上链接页面?

时间:2013-08-26 22:56:37

标签: html ruby-on-rails ruby

我为我的demo_app提供了三个资源。我做了一个主页,但我想把我的主页链接链接到我的三个资源。我把代码

<%= link_to 'users', @user %> | 
<%= link_to 'microposts', @micropost %> |
<%= link_to 'task', @task %> |

在我的主页上,链接显示在页面上,但它们不起作用

routes.rb文件

DemoApp::Application.routes.draw do
      get "static_pages/home"

      resources :tasks

      resources :microposts

      resources :users

      root :to => 'static_pages#home'
    end

我想要做的是链接到每个这样的索引页面,如此处

<h1>Listing tasks</h1>

<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>Status</th>
      <th></th>
      <th></th>
      <th></th>
    </tr>
  </thead>

  <tbody>
    <% @tasks.each do |task| %>
      <tr>
        <td><%= task.name %></td>
        <td><%= task.status %></td>
        <td><%= link_to 'Show', task %></td>
        <td><%= link_to 'Edit', edit_task_path(task) %></td>
        <td><%= link_to 'Destroy', task, method: :delete, data: { confirm: 'Are you sure?' } %></td>
      </tr>
    <% end %>
  </tbody>
</table>

<br>

<%= link_to 'New Task', new_task_path %>

并且还有一个返回主页的链接。抱歉,这是一个时髦的问题?

4 个答案:

答案 0 :(得分:4)

请查看http://guides.rubyonrails.org/routing.html - 这是一个很好的参考!根据链接目标应该是什么,您可能正在寻找:

<%= link_to 'User (view)', user_path(@user) %>
<%= link_to 'User (edit)', edit_user_path(@user) %>
<%= link_to 'User (index)', users_path %>

最佳, 本。

答案 1 :(得分:1)

在您的视图中,您希望为每个使用适当的路径助手。获取索引页面:

<%= link_to 'users', users_path %>
<%= link_to 'microposts', microposts_path %>

答案 2 :(得分:0)

在您的任务控制器中,在索引方法中,将这三个变量设置为您想要的值

e.g。 @user=current_user, @micropost = @user.micropost, etc.

答案 3 :(得分:0)

你可以尝试一下。

<%= link_to 'users', :controller =>"user" %>
<%= link_to 'microposts', :controller =>"micropost" %>
<%= link_to 'task', :controller => "task" %>

link_to

引用