怎么做一个死链接记者?

Rai*_*ner 14 ruby ruby-on-rails actionmailer ruby-on-rails-3

我想在我的网站上创建一个用户可以点击外部死链接报告的按钮.我在项目表中的链接列中有链接.

我想创建一个简单的电子邮件通知,其中包含项目的ID和链接.我在想创建一个表单和某种可以处理表单的控制器.

我的观点应该是这样的:

<% for items in @items %>
        <%= simple_form_for @items] do |f| %>
        <%= f.hidden field :id, :value => 'item.id' %>
        <%= f.hidden field :url, :value => 'item.link %>
        <%= f.button :submit, :value => 'report broken link' %>
    <% end %>
 <% end %>
Run Code Online (Sandbox Code Playgroud)

id和url输入不应仅仅像"报告断开链接"这样的链接可见.控制器应该拿两个参数并给我发电子邮件.

如何创建一个简单的死外部链接记者?

Mic*_*ohl 8

你的问题可能更具体,但你可能想要使用类似的Net:HTTP东西:

  uri = URI.parse(url)
  response = nil

  begin
    Net::HTTP.start(uri.host, uri.port) do |http|
      response = http.head(uri.path.size > 0 ? uri.path : "/")
    end
  rescue => e 
    ...
  end

  # handle redirects if you need to
  if response.is_a?(Net::HTTPRedirection)
   ...
  end

  if response.code == '404'
    ...
  end
Run Code Online (Sandbox Code Playgroud)