例如,为什么日期帮助器的写法如下:
time_ago_in_words(@from_time)
Run Code Online (Sandbox Code Playgroud)
而不是像这样:
@from_time.time_ago_in_words
Run Code Online (Sandbox Code Playgroud)
这是一个明确的设计错误/不一致吗?或者有什么理由吗?
我发现自己在所有text_area表单助手上都指定了:rows => 5,所以我查找了它的定义并发现DEFAULT_TEXT_AREA_OPTIONS是指示这些选项的哈希值.但是,散列上有这个冻结方法,我查了一下,这意味着它无法更改.如果您可以向我推荐一些选项来尝试在应用程序范围内执行:所有文本区域的rows => 5,我真的很感激.
谢谢
我喜欢HTML助手的想法,它允许我不为常见元素编写所有HTML,同时仍然让我完全控制,保留模型 - 视图分离并且可以强类型化.
我想知道是否有可能以相同的方式生成CSS样式表或样式定义 - 在视图标记中使用帮助程序?理想情况下,我希望根据一些面向对象的规则和定义生成一些CSS.
我找不到任何能提供样式表压缩和合并的解决方案.
我正在尝试连接一个具有默认类'pjax'的自定义帮助程序,但也保留了在需要时添加类的功能.
例:
link_to_pjax('pagename', page_path, :class => 'current')
Run Code Online (Sandbox Code Playgroud)
所以帮助器默认添加'pjax',还有类'current',或传入的任何内容.
def link_to_pjax(name, path, options = {:class => 'pjax'})
link_to(name, path, options)
end
Run Code Online (Sandbox Code Playgroud)
语法吓坏了我.任何建议将不胜感激.
我可以使用HTML帮助程序在视图中获取路径的URL,但是如何从控制器中执行相同的操作?
我一直试图让Laravel 4从app/helpers目录中自动加载帮助文件(显然我创建了这个).
我开始使用Composer方式:添加路径composer.json,然后运行dump-autoload.这没用.然后我尝试使用该app/start/global.php文件,这也无效.
注意,我不是将类放入帮助文件 - 这就是Facades和Packages的用途.我只需要小辅助函数,类似于Laravel自己的函数(在vendor目录中).我只是这样说,因为似乎作曲家只转储列表类(带名称空间).
如何让助手自动加载?
它似乎ClassLoader::addDirectories()也不适用于类 - 为什么它在那里呢?我必须同时使用这个和Composer吗?
似乎我的问题没有被理解.在我的app/helpers目录中,我有一个名为的文件paths.php.我希望能够theme_path($location)在全局范围内调用it()内的函数.
我在Rails中编写了一个应用程序,它正在快速增长,并且我正在学习它.但是我不了解助手.
application_helper.rb
module ApplicationHelper
# This file it's empty
end
Run Code Online (Sandbox Code Playgroud)
users_helper.rb
module UsersHelper
def avatar
# Do something
end
end
Run Code Online (Sandbox Code Playgroud)
customer_helper.rb
module CustomerHelper
# This file it's empty
end
Run Code Online (Sandbox Code Playgroud)
为什么在任何客户的视图中都可以在用户帮助模块上调用头像辅助方法?那么,为什么在许多文件中分离助手呢?
提前致谢.
PS:Rails的第4版.
helper 目录中的文件是否会包含在所有控制器中?我没有找到任何关于这个的好的解释。我的控制器中有 2 个自定义目录(例如 admin,对于普通用户)。我的助手有相同的目录结构吗?助手名称是否与控制器名称相同只是为了便于阅读?
我正在尝试确定在视图中使用帮助程序的最佳标准是什么
echo $form->input();
Run Code Online (Sandbox Code Playgroud)
要么
echo $this->Form->input();
Run Code Online (Sandbox Code Playgroud)
在CakePHP手册ver 1.2中,Helper类直接由辅助对象访问,而在1.3书中,辅助对象通过View访问.
这有关系吗?
狮子座
新的Rails ...我已经创建了一个帮助器来格式化种族名称及其日期.:id => "current-race"如果存在条件,我需要通过(基本上如果事件正在发生).我怎么能这样做?
def formatted_race_dates(race)
link_to (race.homepage) do
raw("<strong>#{race.name}</strong> <em>#{race_dates_as_string(race)}</em>")
end
end
Run Code Online (Sandbox Code Playgroud)
现在当race.start_date < Date.today && race.end_date > Date.today我想添加id="current-race"链接时.
我通常会设置一个if/else条件并将其格式化为两种方式.但似乎必须有一个我不知道的Ruby技巧来简化某些内容,就像link_to在列表中常见地添加id/class一样?即使没有条件,我也不太确定在哪里/如何添加:id => "current-race".
如此多的Ruby/Rails技巧我不知道......一切都有帮助!