link_to语法问题

时间:2014-08-11 17:34:50

标签: ruby-on-rails ruby ruby-on-rails-4

也许我在这里遗漏了一些东西,但我很难做到这一点,任何输入都会非常感激。我是rails的新手,我正在努力让用户体验更友好。

我希望用户能够点击未锁定的图像并使其自行锁定,反之亦然。 我只在第一个link_to中尝试了我的代码,我没有尝试使用第二个图像,因为我已经遇到了错误。

目前我的jobs / indes.html.erb文件看起来像这样

<td><% if job.locked %>
            <%= link_to(job.locked?(image_tag('lock.png', size: "18x18", alt: "unlocked"),job, method: :delete, data: { confirm: 'Are you sure?' } )) %><%#= link_to 'Edit', edit_job_path(job) %>
        <% else %>
            <%= link_to(image_tag('unlock.png', size: "18x18", alt: "Locked"))%>
        <% end %>.

我的错误如下:参数数量错误(4表示1)

1 个答案:

答案 0 :(得分:1)

<%= link_to(image_tag("lock.jpg", :width => 18, :height => 18, alt: "unlocked"), edit_job_path(job) ) %>

将是适当的link_to用法(由您提供的所有数据组成)。你得到这样的错误,因为(很明显)你传递给很多参数。

为了实现您想要的东西(根据我的理解),需要lockunlock的路径。 最后你会想要这样的东西:

<% if job.locked? %>
  <%= link_to(image_tag("lock.jpg", :width => 18, :height => 18, alt: "unlocked"), unlock_job_path(job) ) %>
<% else %>
 <%= link_to(image_tag("lock.jpg", :width => 18, :height => 18, alt: "locked"), lock_job_path(job) ) %>
<% end %>