标签: helper

在Symfony中,如何在类中使用url_for助手?

我正在一个类中构建一个URL,我希望以后只需更改routing.yml文件就可以更改路由.

如果我有路线:

userSignup:
  url:   /user/signup
  param: { module: user, action: signup }
Run Code Online (Sandbox Code Playgroud)

如何在类中使用url_for('userSignup')帮助程序来动态创建URL?

routing symfony1 helper symfony-1.4

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

计算逻辑应该放在Rails应用程序中的哪个位置?

我有一个模拟房子的应用程序.House has_many Rooms,Rooms has_many Lights和Small_appliances等.我还有一个名为Calculator的控制器,它是应用程序的访问方式.使用计算器控制器将数据添加到房屋(及其房间).然后生成一个报告,该报告位于app/views/calculator/report.html.erb.

我的问题是报告的所有计算和逻辑应该在哪里?目前我在视图中都有这一切,在calculator_helper中有一些东西.通常这会出现在模型中,对吧?但是Calculator没有生成的模型.这是什么标准?

这是计算器控制器.

class CalculatorController < ApplicationController
  def index
  end

  def save_house
    @house = House.new(params[:house])
    respond_to do |format|
      if @house.save
        format.html { render :action => 'add_rooms', :id => @house }
        format.xml { render :xml => @house, :status => :created, :location => @house }
      else
        format.html { render :action => 'index' }
        format.xml  { render :xml => @house.errors, :status => :unprocessable_entity }
      end
    end
  end

  def add_rooms
    @house = House.find(params[:id])
    @rooms = Room.find_by_house_id(@house.id)

  rescue ActiveRecord::RecordNotFound
    logger.error("Attempt to …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails helper rails-activerecord

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

为什么使用CakePhp AJAX助手代替jQuery?

我刚刚开始使用cakePHP,我看到其中有一个AJAX Helper.

我的问题很简单:我应该使用这个帮助器,还是应该继续使用jQuery进行AJAX?我应该在现有的jQuery AJAX调用中执行任何更改吗?

谢谢

ajax jquery cakephp helper

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

对这些嵌套的if/elseif语句有什么更优雅的解决方案?

我正在构建一个包含用户个人资料的用户的网站.配置文件中的许多字段都是可选的.

有很多用户生成内容的机会,因此我需要在网站的许多不同位置(评论,帖子等)显示此内容的作者.在用户的个人资料中,他能够(可选地)填写他的"名字",他的"姓氏"和"显示名称".

为了显示作者,我编写了一个帮助器方法,该方法查看这些字段的提供数组,并按此优先顺序返回用户最合适的名称:

  1. 如果用户填写display_name,则会显示.
  2. 如果用户填写first_namelast_name,但没有display_name,它会显示这两个名字
  3. 如果用户只填写first_name,则会显示first_name.
  4. 如果用户只填写last_name,则会显示last_name.
  5. 如果所有其他方法都失败,将显示用户ID,即 user123
  6. 如果没有数组键,或者参数为NULL,则名称将显示为 NULL

该方法效果很好,但很难看.必须有一种方法来替代嵌套的if/else语句来美化它.

public function nameify($names = NULL) {
    $name = '';
    if (!empty($names)) {
        if (!empty($names['display_name'])) {
            $name = $names['display_name'];
        } elseif (!empty($names['first_name'])) {
            $name = $names['first_name'];
            if (!empty($names['last_name'])) {
                $name .= ' ' . $names['last_name'];
            }
        } elseif (!empty($names['last_name'])) {
            $name = $names['last_name'];
        }

        if (empty($name) && !empty($names['id'])) {
            $name = 'user' . …
Run Code Online (Sandbox Code Playgroud)

php string user-input helper

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

为什么我的helper递归方法不返回每个值?

我想显示一个用宝石祖先管理的类别树.

我想使用一个帮助器,它将递归地遍历树并逐个返回类别,暂时没有html标签或内容.

module CategoriesHelper
  def display_tree(category)
    if category.has_children? 
      category.children.each do |sub_category|
        display_tree(sub_category)
        puts(sub_category.name) # to check if it goes here
      end
    end
    category.name
  end
end
Run Code Online (Sandbox Code Playgroud)

category参数是根类别之一.

应该归还什么?

  • 在网页中:它仅显示根级别类别 Sport Beauty Automobile
  • 在控制台中: Men Indoor Women Children Water sport Garage

如果得到它们,则意味着递归有效,但事实并非如此.为什么它只返回第一次迭代?

另外,我想按以下顺序获取它们:

root/child/child-of-child
Run Code Online (Sandbox Code Playgroud)

但如果我想回来category.name,它应该在最后一个位置.

你能告诉我你的意见吗?

PS:我刚刚发现(在添加标签期间)我在搜索中一直使用"递归"这个词,但它不存在,即使很多人在stackOveflow上使用它; o) - >"递归",但是我还是被困住了

**编辑**

现在我使用这段代码:

            module CategoriesHelper

              def display_tree(category)
                tree = "<div class =\"nested_category\">#{category.name}" 
                if category.has_children? 
                  category.children.each do |sub_category|
                    tree += "#{display_tree(sub_category)}"
                  end
                end
                tree += "</div>"
              end
            end
Run Code Online (Sandbox Code Playgroud)

这给了我:

        <div …
Run Code Online (Sandbox Code Playgroud)

ruby methods recursion ruby-on-rails helper

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

永远不会调用IMetadataAware.OnMetadataCreated

我创建了属性类来将元数据附加到属性,因此我可以显示表单输入字段的工具提示.

HelpAttribute实施IMetadataAware:

Public Class HelpAttribute
    Inherits Attribute
    Implements System.Web.Mvc.IMetadataAware

    Public Sub New(text As String)
        _text = text
    End Sub

    Private _text As String
    Public ReadOnly Property Text As String
        Get
            Return _text
        End Get
    End Property

    Public Sub OnMetadataCreated(metadata As System.Web.Mvc.ModelMetadata) Implements System.Web.Mvc.IMetadataAware.OnMetadataCreated
        metadata.AdditionalValues.Add("HelpText", _text)
    End Sub
End Class
Run Code Online (Sandbox Code Playgroud)

我在扩展方法中使用此元数据:

<Extension()>
Public Function HelpFor(Of TModel, TProperty)(ByVal htmlHelper As HtmlHelper(Of TModel), expression As Expression(Of Func(Of TModel, TProperty))) As MvcHtmlString
    Dim metaData = ModelMetadata.FromLambdaExpression(Of TModel, TProperty)(expression, htmlHelper.ViewData)

    If metaData.AdditionalValues.ContainsKey("HelpText") …
Run Code Online (Sandbox Code Playgroud)

vb.net assemblies metadata helper asp.net-mvc-3

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

如何在codeigniter表单中同时具有默认值和设置值?

我在codeigniter中有一个表单,并希望我的输入和set_value()都有一个默认值.

这是我的意见:

echo form_input('job_position',set_value('job_position'));
Run Code Online (Sandbox Code Playgroud)

我有一个设定值并且正在工作,但是如何添加默认值'12'?

forms codeigniter helper default-value

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

用于CodeIgniter的CSV导入库

需要将csv或xls导入到使用CodeIgniter创建的Application中.这有什么图书馆吗?任何建议表示赞赏.

php csv xls helper codeigniter-2

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

如何在Spork运行时在ApplicationHelper规范中包含路由?

我有一个rspec规范:

require "spec_helper"

describe ApplicationHelper do
  describe "#link_to_cart" do
    it 'should be a link to the cart' do
      helper.link_to_cart.should match /.*href="\/cart".*/
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

和ApplicationHelper:

module ApplicationHelper
  def link_to_cart
    link_to "Cart", cart_path
  end
end
Run Code Online (Sandbox Code Playgroud)

这在访问站点时有效,但规范失败,并显示有关路由的RuntimeError不可用:

RuntimeError:
   In order to use #url_for, you must include routing helpers explicitly. For instance, `include Rails.application.routes.url_helpers
Run Code Online (Sandbox Code Playgroud)

因此,我Rails.application.routes.url在我的规范中包含了spec_helper-file,甚至包括ApplicationHelper它本身,都无济于事.

编辑:我正在通过spork运行测试,也许这与它有关并导致问题.

在使用Spork运行时,如何包含这些路线助手?

rspec helper rails-routing spork

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

使用const的Delphi ShortInt帮助器ToString

我在一个单独的单元中有一些常量,如果type为ShortInt(<128),我不能对这些常量执行.ToString.

示例:创建单位并添加:

const abc = 127;
Run Code Online (Sandbox Code Playgroud)

创建一个TForm并在FormShow中执行:

Edit1.Text := abc.tostring;
Run Code Online (Sandbox Code Playgroud)

你知道为什么它不起作用吗? 输入所需的记录,对象或类.

如果常量在同一个单元中,它可以工作.

delphi const helper

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