标签: helpers

在rails中生成javascript的完整URL(类似于javascript_path,但是url)

如何生成javascript文件的绝对链接.

我假设应该有类似下面的那个(遗憾的是似乎没有):

javascript_url 'main' # -> 'http://localhost:3000/javascripts/main.js'
Run Code Online (Sandbox Code Playgroud)

代替:

javascript_path 'main' # -> '/javascripts/main.js'
Run Code Online (Sandbox Code Playgroud)

我需要绝对URL,因为该javascript文件将用于书签.
另外我需要相同的css文件.

谢谢,
德米特里.

ruby url ruby-on-rails helpers

6
推荐指数
1
解决办法
8075
查看次数

我的rails帮助器将'<'渲染为'&lt;'!如何使其正确渲染?

我在这里开发一个简单的插件,而且这个目的正在发挥作用.除了我的助手.它是一个非常简单的帮助器,它只需要回显一个<span></span>以后的javascript解析.

问题是,它没有使html正确,它用html等效代码替换特殊字符.

我的插件初始化程序:

ActionView::Helpers.send :include, Test
Run Code Online (Sandbox Code Playgroud)

我的插件助手:

module Test    
  def only_for_testing
    render(:text => "<span></span>")
  end
end
Run Code Online (Sandbox Code Playgroud)

当我在视图中调用only_for_testing帮助器时,而不是渲染"<span></span>"它呈现" &lt;span&gt;&lt;/span&gt;"

我尝试删除渲染,只返回字符串,效果相同.我真的不想为此创建一个部分,因为它是一个非常非常简单的html,它不是用于布局,它只是用于解析.

知道我在这里做错了什么吗?

ruby-on-rails helpers ruby-on-rails-plugins ruby-on-rails-3

6
推荐指数
2
解决办法
3876
查看次数

PyroCMS助手文档

我正在研究PyroCMS项目,但由于缺乏完整的文档而出现问题.有谁知道我在哪里可以找到核心帮助者列表,例如{pyro:navigation:links}

php codeigniter helpers pyrocms

6
推荐指数
1
解决办法
6661
查看次数

Rails 3在所有表单上删除before_validation的空格

我对Rails相对较新,有点惊讶这不是一个可配置的行为......至少没有一个我能找到的?!?我本来以为的形式99%的人会从空白受益于所有被修剪stringtext领域?!?猜猜我错了......

无论如何,我正在寻找一种干燥的方法来从Rails 3应用程序中的表单字段(类型:string&:text)中删除所有空格.

视图有自动引用(包括?)并可用于每个视图的助手......但模型似乎没有这样的东西?!?或者他们呢?

所以目前我做的是首先 需要的,然后 包括 whitespace_helper(又名WhitespaceHelper).但这对我来说似乎并不是很干,但它有效......

ClassName.rb:

require 'whitespace_helper'

class ClassName < ActiveRecord::Base
  include WhitespaceHelper
  before_validation :strip_blanks

  ...

  protected

   def strip_blanks
     self.attributeA.strip!
     self.attributeB.strip!
     ...
   end
Run Code Online (Sandbox Code Playgroud)

LIB/whitespace_helper.rb:

module WhitespaceHelper
  def strip_whitespace
    self.attributes.each_pair do |key, value| 
    self[key] = value.strip if value.respond_to?('strip')
  end
end
Run Code Online (Sandbox Code Playgroud)

我想我正在寻找单个(DRY)方法(类?)来放置某个(lib/?),它将获取一个params(或属性)列表,并.strip! 从每个属性中删除空白(?),而不是具体命名.

validation whitespace ruby-on-rails dry helpers

6
推荐指数
1
解决办法
4957
查看次数

助手"fields_for"无效

我正在使用嵌套属性,但我的视图中未加载字段.有人知道我错过了什么吗?

Rails 3.1,Ruby 1.9.2

型号1:

class Traditions::Material < ActiveRecord::Base
  has_one :material_asset, :dependent => :destroy
  validates_presence_of :title
  accepts_nested_attributes_for :material_asset
end
Run Code Online (Sandbox Code Playgroud)

型号2:

class Traditions::MaterialAsset < ActiveRecord::Base
  belongs_to :material
  has_attached_file :asset
  validates_attachment_presence :asset
end
Run Code Online (Sandbox Code Playgroud)

查看(HAML):

= form_for @material, :html => {:class => 'form', :multipart => true} do |f|
    = errors_for @material

    .field
        = f.label :title
        = f.text_field :title

    .field
        = f.label :description
        = f.text_area :description, :rows => 5

    .field
        = f.fields_for :material_asset do |ma|
            = ma.label :asset
            = ma.file_field :asset

    .buttonrow
        = f.submit …
Run Code Online (Sandbox Code Playgroud)

haml ruby-on-rails helpers ruby-on-rails-3 ruby-on-rails-3.1

6
推荐指数
1
解决办法
5327
查看次数

如何从此Rails路由/帮助程序输出原始未转义的html?

我正在尝试使用以下代码在我的页面上生成链接

%h2= link_to '{{ label }}', product_path('{{ id }}'.html_safe)
Run Code Online (Sandbox Code Playgroud)

这实际上是一个较大的HTML块的一部分,它将作为一个javascript模板,我稍后将解析使用Underscore.js以填充{{ id }}{{ label }}占位符.所以我想让rails输出一些东西给我的HTML

/ products/{{id}}

然而,它一直在逃避空间和小礼物,并给予我

<a href="/products/%7B%7B%20id%20%7D%7D">{{ label }}</a>
Run Code Online (Sandbox Code Playgroud)

所以url_helper正在逃避我的字符串,即使我不想要它.我怎么能强迫它不这样做?

我试过了

%h2= link_to '{{ label }}', product_path('{{ id }}'.html_safe)
%h2= link_to '{{ label }}', product_path(raw '{{ id }}')
%h2= link_to '{{ label }}', raw(product_path('{{ id }}'))
Run Code Online (Sandbox Code Playgroud)

%h2=raw( link_to '{{ label }}', product_path('{{ id }}'.html_safe))
Run Code Online (Sandbox Code Playgroud)

但它们都不起作用

编辑:

使用它的另一种方法是使用rails console,

include ActionController::UrlWriter

ruby-1.9.2-p0 :010 > product_path '{{ id }}'.html_safe
 => "/products/%7B%7B%20id%20%7D%7D" 
Run Code Online (Sandbox Code Playgroud)

任何帮助表示感谢...谢谢

谢谢

html routes escaping ruby-on-rails helpers

6
推荐指数
1
解决办法
1352
查看次数

如何从模型中为html标记生成唯一的dom id

我有一个索引视图,其中有几行用于具有多个属性的项目.我想用ajax更新items属性的内容,因此我需要一个唯一的dom id.有辅助方法吗?我现在正在做的是:

<span id="<%=  item.id.to_s + "_on_storage"%>">
Run Code Online (Sandbox Code Playgroud)

最好,菲尔

views ruby-on-rails helpers

6
推荐指数
1
解决办法
4393
查看次数

Rails:表单从数组/列表实例变量中选择

我有一个rails应用程序,在表单中,我有一个表单选择(下拉列表).例如,用户可以从1,2,3,4,5中进行选择

比方说,我将这些值存储在数组中作为实例变量,如:

@formlist = [1,2,3,4,5]

我怎样才能简单地将数组放入表单选择助手中,而不是单独列出每个项目.目前我的代码是:

<tr>
  <th><%= f.label(:heat_level, "Heat Level") %></th>
  <td><%= f.select(:heat_level,{ 1 => "1", 2 => "2", 3 => "3", 4 => "4", 5 => "5"}) %></td>
</tr>
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails helpers

6
推荐指数
1
解决办法
2万
查看次数

Register Helper函数Node.JS + Express

我正在尝试学习NodeJS和Express.我使用node-localstorage包来访问localstorage.这在直接在这样的函数中使用代码时有效

路线/ social.js

exports.index = function(req, res)
{
     if (typeof localStorage === "undefined" || localStorage === null) 
     {
        var LocalStorage = require('node-localstorage').LocalStorage;
        localStorage = new LocalStorage('./scratch');
     }

localStorage.setItem('myFirstKey', 'myFirstValue');
console.log(localStorage.getItem('myFirstKey'));
res.render('social/index', {title: "Start"});
}
Run Code Online (Sandbox Code Playgroud)

但是,在访问localstorage时,我不想在所有其他函数中反复编写此代码.我希望能够注册一个我可以访问的辅助函数

 var localStorage = helpers.getLocalStorage
Run Code Online (Sandbox Code Playgroud)

或类似的东西.

我怎样才能在NodeJS中做到这一点?我见过关于app.locals的一些事情?但是如何在路线中访问app对象?

helpers local-storage node.js express

6
推荐指数
1
解决办法
1万
查看次数

WooCommerce - get_order()不起作用

我正在尝试创建一个函数,它将通过其ID检索订单.出于某种原因,我无法使WooCommerce全局功能get_order起作用.我正在id向该函数传递一个有效的订单并尝试将其打印出来以验证它是否正常工作.该功能已放入我的functions.php文件中.

function getWC_order_details($id){
    global $woocommerce;

    $order = get_order( $id );

    print "<pre>";
    print_r($order);
    print "</pre>";
}
Run Code Online (Sandbox Code Playgroud)

我测试了没有问题的函数回显其他数据.

php wordpress global-variables helpers woocommerce

6
推荐指数
1
解决办法
2万
查看次数