如何链接资源标题?

时间:2013-11-30 22:50:34

标签: ruby-on-rails ruby image

这就是我网站上的内容。

thing

我希望“Cole Haan Air Madison”实际链接到Cool Haan网站,用户可以在该网站上购买该项目。

这是用于创建Things的表单的代码:

<%= simple_form_for(@thing, html: { multipart: true }) do |f| %>
  <% if @thing.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(@thing.errors.count, "error") %> prohibited this thing from being saved:</h2>

      <ul>
      <% @thing.errors.full_messages.each do |msg| %>
        <li><%= msg %></li>
      <% end %>
      </ul>
    </div>
  <% end %>

  <div class="form-group">
    <%= f.label :title %><br>
    <%= f.text_field :title, class: 'form-control' %>
  </div>

  <div class="form-group">
    <%= f.label :description %><br>
    <%= f.text_field :description, class: 'form-control' %>
  </div>
  <div class="form-group">
    <%= f.label :image %><br>
    <%= f.file_field :image, class: 'form-control' %>
  </div>
  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>

表格在视觉上看起来像这样:

form

我知道我必须在表单中添加一个链接字段。但是,我如何不是向用户显示链接,而是将其与Thing的标题相对应?

这是事物的展示视图:

<div class='row'>
  <div class='col-md-offset-2 col-md-8'>
    <div class='panel panel-default'>
    <div class='panel-heading text-center'>
      <%= image_tag @thing.image.url(:medium) %>
    </div>
    <div class='panel-body'>
    <p>
      <strong><%= @thing.title %></strong>
    </p>
    <p>
      <%= @thing.description %>
    </p>
    <p>
      <%= link_to @thing.user.username, @thing.user %>
    </p>
    <% if @thing.user == current_user %>
      <%= link_to edit_thing_path(@thing) do %>
        <span class='glyphicon glyphicon-edit'></span>
      <% end %>
    <% end %>
    </div>
  </div>
</div>

1 个答案:

答案 0 :(得分:1)

基本上,您需要link_to标记。

因为你提到了:

  

我希望“Cole Haan Air Madison”真正链接到Cool Haan   用户可以购买该项目的网站。

所以,我认为你正在存储用户事物的website

替换,

<strong><%= @thing.title %></strong>

代码中的

<strong><%= link_to @thing.title, @thing.user.website %></strong>

此处,@thing.user表示该事物的关联user,而@thing.user.website会回复该用户的网站。