【问题标题】:rendering a partial in a flash message in Rails 3在 Rails 3 中渲染部分 Flash 消息
【发布时间】:2012-01-13 05:36:22
【问题描述】:

因此,当用户成功上传文件时,我只是尝试将一些社交网络共享链接(facebook、g+、addthis 等)添加到我的一条 Flash 消息中。我有部分代码,所以我想我可以渲染它,但我只是得到一堆“/n”,而 html_safe 不起作用。

这是我的部分:

 <div class="share_buttons">
    <div class="addthis_toolbox addthis_default_style addthis_32x32_style">
      <a class="addthis_button_facebook"></a>
      <a class="addthis_button_twitter"></a>
      <a class="addthis_button_stumbleupon"></a>
    </div>
    <script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#pubid=xa-4e8b938653ac0cd3"></script>
  </div>

<script type="text/javascript">
reddit_target='tattoos'
</script>
<script type="text/javascript" src="http://www.reddit.com/static/button/button1.js"></script>

<% content_for :jquery do %>
    <%= javascript_tag do %>
    $(document).ready(function() {
      $(".share_buttons a").live("click", function() {
        $.ajax({
          url: '/index/share?id=<%= @tattoo.id%>',
          type: 'post'
        });
          return false;
      });
    });
    <% end %>
<% end %>

在我的控制器中我尝试了这个:

flash[:success] = "Thanks, feel free to share that out! #{render :partial=&gt; /shared/social_buttons}"

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 partials


    【解决方案1】:

    需要将其呈现为字符串

    flash[:success] = "Thanks, feel free to share that out! #{render_to_string :partial => '/shared/social_buttons'}"
    

    【讨论】:

    • 程序员是很特别的人! flash 是用来渲染小注释和警告的,但在某些时候我很自然地开始问自己,“我的 flash 代码变得有点难看......我想知道我是否可以把它拉成部分?” #nottobeusedfortheotheruse
    • 你是救生员。谢谢
    • 要通过部分渲染传递变量,只需包含locals。例如:render_to_string partial: 'path/to/partial', locals: {some_local_var: some_value}(适用于 Rails 5)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-16
    • 2023-03-11
    • 2016-09-05
    • 2011-03-22
    • 1970-01-01
    • 1970-01-01
    • 2011-07-23
    相关资源
    最近更新 更多