我正在使用Rails 3编写一个大型应用程序,我一直在创建搜索表单,如下所示:
= form_tag search_companies_path, :method => "get" do
= label_tag :search
= text_field_tag :search
= submit_tag "Search"
Run Code Online (Sandbox Code Playgroud)
这应该放在Helper方法还是Partial方法?
我试图让它通过帮助器工作:
module ApplicationHelper
def search_form(path)
form_tag path, :method => "get" do
label_tag :search
text_field_tag :search
submit_tag "Search"
end
end
end
Run Code Online (Sandbox Code Playgroud)
这会创建一个带按钮的表单,我在这里是正确的轨道吗?
<?php echo $time->timeAgoInWords($row['Forum']['modified']); ?>
Run Code Online (Sandbox Code Playgroud)
我收到数据的修改列格式为MySQL datetime.
我试图使用上面的代码来获取格式化的时间值timeAgoInWords(),但我不断收到此错误.
未定义属性:时间[APP\views\forums\view.ctp,第60行]
我不明白为什么我会收到这个错误.
如何使用按钮帮助器和缩略图助手添加fancybox?
是否可以将按钮(按钮助手)放在图像下面,以便我可以观看和选择我想要看到的内容?
按钮
$(document).ready(function() {
$(".fancybox-button").fancybox({
prevEffect : 'none',
nextEffect : 'none',
closeBtn : false,
helpers : {
title : { type : 'inside' },
buttons : {}
}
});
Run Code Online (Sandbox Code Playgroud)
});
和缩略图代码
$(document).ready(function() {
$(".fancybox-thumb").fancybox({
prevEffect : 'none',
nextEffect : 'none',
helpers : {
title : {
type: 'outside'
},
overlay : {
opacity : 0.8,
css : {
'background-color' : '#000'
}
},
thumbs : {
width : 50,
height : 50
}
}
});
Run Code Online (Sandbox Code Playgroud)
});
我有点新的JavaScript我无法让它工作.
我想要做的是将它们混合在一起并将按钮放在底部
PS我还可以使用fancybox缩略图助手来处理Youtube视频吗?
我在config/routes.rb文件中添加了以下行:
get '/movies/similar', :contoller => 'movies', :action => 'similar'
Run Code Online (Sandbox Code Playgroud)
我看到有一个带名字的辅助方法'movies_similar_path'.我想添加一个'movies_similar_path'名为'director' 的get参数,这样我就可以了'/movies/similar?director=someone'
我该怎么做?
我有一个项目,我需要在构建清单文件时分解版本号并访问它的组件。在做了一些搜索之后,我找到了 build-helper-maven-plugin 并认为我的问题已经解决了。我将插件添加到主 POM,如下所示。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<phase>validate</phase>
<id>parse-version</id>
<goals>
<goal>parse-version</goal>
</goals>
<configuration>
<propertyPrefix>parsedVersion</propertyPrefix>
</configuration>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)
此时的项目版本是 3.0.0-SNAPSHOT。我想查看所有部分(尽管在最终版本中我可能不会全部使用它们),因此我将这些行添加到我的清单文件中。
<value name="majorVersion">${parsedVersion.majorVersion}</value>
<value name="minorVersion">{$parsedVersion.minorVersion}</value>
<value name="incrementalVersion">${parsedVersion.incrementalVersion}</value>
<value name="versionQualifier">${parsedVersion.qualifier}</value>
<value name="parsedBuildNumber">${parsedVersion.buildNumber}</value>
Run Code Online (Sandbox Code Playgroud)
构建后我得到了这个。
<value name="majorVersion">0</value>
<value name="minorVersion">{$parsedVersion.minorVersion}</value>
<value name="incrementalVersion">0</value>
<value name="versionQualifier">3.00.0-SNAPSHOT</value>
<value name="parsedBuildNumber">0</value>
Run Code Online (Sandbox Code Playgroud)
值标签实际上是一个 XML 标签,清单文件中有一个结束值标签,我不得不删除它们,因为它们弄乱了显示。
所以增量版本似乎是正确的,虽然我不是很自信,因为主要版本不正确,它没有找到次要版本,并且限定符作为整个版本号返回,而不仅仅是 SNAPSHOT 部分我曾预料到。我可以看到构建号为零的地方是正确的,因为我们没有 Maven 认为的构建号。
关于为什么版本号似乎没有解析的任何想法?我是否错误地实现了这个插件?
谢谢史蒂夫
我有一个这样的辅助方法:
module PostsHelper
def foo
"foo"
end
end
Run Code Online (Sandbox Code Playgroud)
在 rails 控制台中,我检查了函数,然后将文本更改"foo"为"bar",然后reload!是控制台,但helpers.foo仍然没有返回"bar"。
也许 Helper 对象已经像这篇文章一样在控制台中创建了,我不确定。 Rails 控制台:重新加载!不反映模型文件的变化?可能的原因是什么?
只有我想知道如何在 rails 控制台中使用 helper 方法。你能告诉我怎么做吗?
我创建了一个用于访问点击的帮助程序,它包含一个将一些数据插入数据库的函数:
hit_counter_helper.php:
function count_hits($options = array())
{
//Determine whether the user agent browsing your site is a web browser, a mobile device, or a robot.
if ($this->agent->is_browser())
{
$agent = $this->agent->browser() . ' ' . $this->agent->version() . ' - ' . $this->agent->platform();
}
elseif ($this->agent->is_robot())
{
$agent = $this->agent->robot();
}
elseif ($this->agent->is_mobile())
{
$agent = $this->agent->mobile();
}
else
{
$agent = 'Unidentified User Agent';
}
//Detect if the user is referred from another page
if ($this->agent->is_referral())
{
$referrer = …Run Code Online (Sandbox Code Playgroud) 我正在尝试实现一个辅助函数,它可以帮助我在 MVC 应用程序中“添加”路由(映射到控制器/操作)。
我的index.php 文件如下所示。
// use block
use App\Router;
use App\Config;
use App\Core\Database;
use App\Bootstrap;
// dependencies
$router = new Router;
$config = new Config;
$database = new Database($config);
$bootstrap = new Bootstrap($router, $database);
// routes
require '../App/Routes.php';
$bootstrap->router->dispatch($_SERVER['QUERY_STRING']);
Run Code Online (Sandbox Code Playgroud)
我的“路线”文件中有一条路线,我的路线如下所示。
$bootstrap->router->add('/home', ['controller' => 'home', 'action' => 'index']);
Run Code Online (Sandbox Code Playgroud)
我更愿意像这样简单地将根添加到我的文件中......
route('/home', ['controller' => 'home', 'action' => 'index']);
Run Code Online (Sandbox Code Playgroud)
所以我需要做一个辅助函数
问题
感谢 psr-4 自动加载,我知道如何在需要时提取类,但是当涉及到平面旧函数时,这一点不太清楚。如何将辅助函数干净地添加到 MVC 框架中,而无需到处添加 require 文件?
非常感谢您的时间和考虑!
我在 laravel 中构建了一个助手以从 eloquent 返回单个字段。
class Helper {
public static function getAddress($id) {
//intval($id);
$result = DB::table('tableaddress')
->where('id',$id)
->pluck('address');
//dd($result);
return $result;
}
}
Run Code Online (Sandbox Code Playgroud)
在视图中,我通过调用它{!! Helper::getAddress(112233) !!}但收到Array to string conversion.
这是如果结果 dd
如何获取地址以返回字符串。谢谢
当我使用 Composer 创建自动加载帮助程序文件时,出现以下错误:
致命错误:composerRequireebefe31fc60fbe2897fba8c156ec310c(): 需要打开失败 'D:\xampp\htdocs\common_module\vendor\composer/../../app/Http/helpers.php' (include_path='D:\xampp\php\PEAR ') 在 D:\xampp\htdocs\common_module\vendor\composer\autoload_real.php 第 66 行