【问题标题】:Implementing a "Terms and Conditions" popup in Ruby on Rails 3在 Ruby on Rails 3 中实现“条款和条件”弹出窗口
【发布时间】:2012-09-23 12:30:51
【问题描述】:

我的 RoR 应用要求用户在上传内容之前勾选“条款和条件”复选框。

我想做的是在一个非常简单的弹出标签as implemented here 中显示“条款和条件”内容(并且不需要 jQuery 或任何其他库,因为我不会我不想让你感到厌烦)但是,作为一个 Rails 菜鸟,我很难确定一个合适的,以及“干净”的解决方案。

非Rails HTML如下(我已经处理过JavaScript):

<a href="popup_content.htm" onclick="popUp(this.href,'console',400,200); 
return false;" target="_blank">Link which opens popup</a>

我的问题如下:

  1. 我在哪里存储包含条款和条件的 HTML 文件 文字?
  2. 如何使用 link_to 提供指向相关弹出窗口的链接 形式?

从我的第一个查询开始,我需要创建一个纯 HTML 页面 (popup_content),其中仅包含标题(条款和条件)和段落内容

元素。我有一个静态页面控制器,但我认为在此处创建条款和条件视图不合适,因为这意味着该页面将按照我的其他静态页面呈现为带有菜单等的标准页面。我尝试在Layouts 文件夹中放置一个简单的_terms.html.erb 页面,但是当页面在弹出窗口中打开时返回错误消息。

那么我应该把这个 HTML 文件放到哪个文件夹中呢?

我想我已经解决了我的第二个查询,但我不确定我是否正确使用了 link_to 助手:

link_to "Click me to display terms and conditions", "[wherever the resultant file shouldbe]/terms.html", :onclick =&gt; "javascript function to display the popup", :target =&gt; "_blank"

任何建议都会很有用 - 干杯!

【问题讨论】:

    标签: javascript ruby-on-rails popup hyperlink


    【解决方案1】:

    您可以使用 link_to_function 来显示弹窗:(See documentation here)

    “返回一个链接,其 onclick 处理程序触发传递的 JavaScript。”

    在你的情况下:

    link_to_function 'Term&Conditions', "popUp('/popups/_terms_conditions.html', 'console', 400, 200);"
    

    有了这个,你必须创建一个像这样的目录“弹出窗口”:app/views/popups,和一个局部视图“_terms_conditions.html”

    希望这对你有用!

    【讨论】:

    • 谢谢,但我认为 link_to_function 已从 Rails 3 中删除(我可能错了)?
    • 它没有被删除,它可能已被弃用。您可以使用普通的 link_to,onclick 事件最后返回 false (link_to 'Terms&amp;C.', '/', :onclick =&gt; 'popUp(...);return false; )
    猜你喜欢
    • 2022-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多