标签: helpers

如何在Rails中测试助手?

我正在尝试构建一些单元测试来测试我的Rails助手,但我永远不会记得如何访问它们.烦人.建议?

ruby ruby-on-rails helpers

38
推荐指数
4
解决办法
2万
查看次数

Rails文章助手 - "a"或"an"

有没有人知道Rails Helper可以自动将相应的文章添加到给定的字符串中?例如,如果我将"apple"传递给该函数,它将变成"一个苹果",而如果我要发送"香蕉"它将返回"香蕉"

我已经检查了Rails TextHelper模块但找不到任何东西.如果这是重复的道歉,但无可否认,这是一个难以找到的答案......

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

37
推荐指数
2
解决办法
7991
查看次数

如何在laravel 5中创建全局辅助函数?

如果我想currentUser()为一些oauth的东西做一个函数我正在做的我可以在视图或控制器中使用它(想想rails,你helper_method: current_user在应用程序控制器中做的事情).

我读到的所有内容都声明要创建一个帮助文件夹并在那里添加函数然后你可以这样做Helpers::functionName这是否是正确的方法呢?

什么是创建辅助功能的"laravel方式",可以在刀片模板和控制器中使用?

php controllers helpers blade laravel-5

34
推荐指数
5
解决办法
3万
查看次数

从Rails 3控制器调用辅助方法

是否可以从控制器调用辅助方法?如果是,如何在Rails 3中执行此操作?

controller helpers ruby-on-rails-3

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

Helper中的动态路径

我正在尝试为我的管理链接创建一个帮助方法.在很多视图中我都有代码

<% if current_user %>
<%= link_to "Edit", edit_model_path(model) %>
<%= link_to "New", new_model_path %>
<%= link_to "Delete", model, :confirm => "You're a Noob",  :method
=> :delete %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

仅在登录时显示这些内容.

我想在他们的位置做这样的事情

<%= admin_links(model) %>
Run Code Online (Sandbox Code Playgroud)

并将当前项传递给应用程序帮助程序方法

def admin_links(m)
 if current_user
  a = "#{link_to "edit" edit_m_path(m)}"
  a << "#{link_to "new" new_m_path}"
  a << "#{link_to "Delete", m, :confirm => "Your a Noob",  :method
=> :delete}"
 end
end
Run Code Online (Sandbox Code Playgroud)

或类似的东西.

ruby-on-rails path dynamic helpers

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

Rails 3.1:在客户端应用程序中公开引擎助手的更好方法

我发现了一些文章解决了引擎内的助手问题,这些问题不适用于消费(父)应用程序.为了确保我们都在同一页上,让我们说我们有这个:

module MyEngine
  module ImportantHelper
    def some_important_helper
      ...do something important...
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

如果您查看"隔离引擎的助手"(L293)中的rails引擎文档,它会说:

  # Sometimes you may want to isolate engine, but use helpers that are defined for it.
  # If you want to share just a few specific helpers you can add them to application's
  # helpers in ApplicationController:
  #
  # class ApplicationController < ActionController::Base
  #   helper MyEngine::SharedEngineHelper
  # end
  #
  # If you want to include all of the engine's helpers, you can use #helpers …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails view-helpers helpers rails-engines ruby-on-rails-3.1

25
推荐指数
3
解决办法
9387
查看次数

自定义表单助手

有没有办法可以创建一个自定义表单助手,而不是:

special_field_tag :object, :method
Run Code Online (Sandbox Code Playgroud)

我可以实现以下目标:

form.special_field :method
Run Code Online (Sandbox Code Playgroud)

ruby forms ruby-on-rails helpers

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

在Rails 3中放置时间格式规则的位置?

我发现自己重复输入我定义的许多strftime.

看过Ryan Bates的railscasts ep 32/33(我想),我在Time.now.to_s中为to_s方法创建了一个自定义选项,这样我就可以做Time.now.to_s(:sw),其中:sw是我的自定义方法,例如,检索"2010年9月23日,下午5:00".

但问题是,我不知道把#sw的定义放在哪里.它应该在初始化文件夹中的文件中吗?或者它应该进入application.rb?

谢谢!

ruby-on-rails helpers

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

通过访问原始文件覆盖rails帮助程序

我想使用rails熟悉的助手,但功能略有改变.我看待它的方式,我希望能够做到这样的事情:

module AwesomeHelper
  #... create alias of stylesheet_link_tag to old_stylesheet_link_tag
  def stylesheet_link_tag(*args)
    if @be_awesome
      awesome_stylesheet_link_tag *args
    else
      old_stylesheet_link_tag *args
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

我看到它的方式,我有三个选择:

  1. 猴子修补:重新打开rails helper模块.如果rails团队改变了他们的帮助器模块的名称,我的代码就变成了脆弱的来源.不是不可克服的,但并不理想.
  2. 使用不同的方法名称:试图坚持共轨接口可能是我的垮台.我的更改可能会成为其他开发人员混淆的根源
  3. 分离方法(新):不确定这是否有效,或者它是否会有与1相同的缺点.研究这个,但这可能是一个很好的起点.

所以这里的问题是,我是否坚持使用其中一种次优解决方案,还是有其他方式我没有考虑过?如果我选择选项3,有没有办法在不直接寻址rails helper模块的情况下执行此操作?

(注意:我删除了上下文,因为它没有添加任何问题.)

ruby overriding ruby-on-rails helpers

22
推荐指数
3
解决办法
9466
查看次数

把手助手 - 返回HTML而不是文本

我为我的模板写了一个简单的帮手.这是代码:

Handlebars.registerHelper('splitQuote', function (string) {
    if (string.indexOf('|') !== -1) {
        return string.replace('|', '<span>') + '</span>';
    }
    return string;
});
Run Code Online (Sandbox Code Playgroud)

所以我传递一个字符串,然后用"|"分割字符串 字符.我还想把第二部分放入span标签.

问题是,返回的结果是纯文本,所以我得到了像文本而不是HTML的span标签.

有谁知道捕获的是什么?

TNX

javascript helpers handlebars.js

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