我正在使用Rails 3.1创建一个简单的Intranet应用程序.
我有一个链接模型,其中包含以下字段:
name:string
url:string
colour:string
Run Code Online (Sandbox Code Playgroud)
我已将color属性放入视图中的类中,如下所示:
<a href="linkaddress" class="<%= link.colour %>">Link Name</a>
Run Code Online (Sandbox Code Playgroud)
在新的链接表单中,我只有一个简单的表单输入,用户可以在其中键入任何内容,它将成为预期的href类.
我想要做的是创建预设选项的下拉列表,这些选项只是红色,绿色和蓝色(作为示例).由于这看起来相当简单,我认为不需要帮助者.
我已经在SO上阅读了一些其他问题和答案,他们似乎显示了一个例子,你的名字后跟一个ID号码.我只想要下面的代码:
<select name="colour">
<option value="red">Red</option>
<option value="green">Green</option>
<option value="blue">Blue</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我确信这很简单,但我不能理解它.我已经阅读了Rails API信息,而select_for_tag让我很困惑!
我的模型中有一个选择列表,其中列出了雇主姓名的人名:
<li>Case Handler Name<span><%= f.select :person_id, Person.all.collect { |x| [x.name_and_company, x.id] } %></span></li>
def name_and_company
return "#{personname} (#{company})"
end
Run Code Online (Sandbox Code Playgroud)
是否可以强制选择列表按字母顺序输出?
我假设我会在那里放一个订单标签......某处?
(:order => 'personname DESC')
Run Code Online (Sandbox Code Playgroud)
谢谢,
丹尼
我有一个Rails 3应用程序,它使用Devise进行身份验证.
我想显示每个用户上次登录用户管理表的日期和时间.
我已将该应用程序基于以下应用程序:
https://github.com/dannymcc/rails3-base
Run Code Online (Sandbox Code Playgroud)
我已阅读Devise GitHub wiki并注意到它提到用户事件是可追踪的,但我找不到任何有关访问信息的信息等.
任何帮助/建议将不胜感激!
谢谢,
丹尼
我使用以下脚本导出我们的产品列表,以便将其发送给Google以获取其购物列表服务(Google Base).该脚本运行良好,但它将品牌和制造商列留空:
<?php
define('SAVE_FEED_LOCATION','google_base_feed.txt');
set_time_limit(1800);
require_once '../app/Mage.php';
Mage::app('default');
try{
$handle = fopen(SAVE_FEED_LOCATION, 'w');
$heading = array('id','mpn', 'upc','title','description','link','image_link','price','brand','product_type','condition', 'google_product_category', 'manufacturer', 'availability');
$feed_line=implode("\t", $heading)."\r\n";
fwrite($handle, $feed_line);
$products = Mage::getModel('catalog/product')->getCollection();
$products->addAttributeToFilter('status', 1);
$products->addAttributeToFilter('visibility', 4);
$products->addAttributeToSelect('*');
$prodIds=$products->getAllIds();
$product = Mage::getModel('catalog/product');
$counter_test = 0;
foreach($prodIds as $productId) {
if (++$counter_test < 30000){
$product->load($productId);
$product_data = array();
$product_data['sku'] = $product->getSku();
$product_data['mpn'] = $product->getData('upc');
$product_data['upc'] = $product->getData('upc');
$title_temp = $product->getName();
if (strlen($title_temp) > 70){
$title_temp = str_replace("Supply", "", $title_temp);
$title_temp = str_replace(" ", " ", $title_temp);
} …Run Code Online (Sandbox Code Playgroud) 我在使用我们的服务提供商登录表单时遇到了一些困难.其他网站工作正常但由于某种原因我无法通过他们的登录表单.
网站登录是这样的:
<form accept-charset="UTF-8" action="/sessions" class="new_user_session" id="new_user_session" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓" /><input name="authenticity_token" type="hidden" value="kaLEkPesQfeheronzGTdfnVAzpuUiC+VmjVXBu540n8=" /></div>
<fieldset class="big">
<div class="form-row">
<div class="form-label">
<label for="user_session_email">Email</label>
</div>
<div class="form-field">
<input id="user_session_email" name="user_session[email]" size="30" type="text" />
</div>
</div>
<div class="form-row">
<div class="form-label">
<label for="user_session_password">Password</label>
</div>
<div class="form-field">
<input id="user_session_password" name="user_session[password]" size="30" type="password" />
</div>
<div class="form-comment"><p><a href="/password_resets/new" class="link-password-recovery">Forgot your password?</a></p></div>
</div>
<div class="form-row optional">
<div class="form-field">
<label for="user_session_remember_me"><input name="user_session[remember_me]" type="hidden" value="0" /><input id="user_session_remember_me" name="user_session[remember_me]" type="checkbox" value="1" /> Remember me for 2 weeks</label> …Run Code Online (Sandbox Code Playgroud) 我有一个我Dir.glob在Rails 3中使用的文档列表.
结果是一个类似于以下内容的路径列表:
/home/danny/nurserotas/GREEN WEEK 2ND JAN 2012.xls
Run Code Online (Sandbox Code Playgroud)
我想要实现的是剥离所有内容,包括最后一个正斜杠.所以上述路径的结果是:
GREEN WEEK 2ND JAN 2012.xls
Run Code Online (Sandbox Code Playgroud)
我将使用这些作为链接,所以我不确定是否用%20替换空格是一个好主意.
任何帮助,将不胜感激!
我在Rails 3应用程序中有以下代码:
scope :active, lambda {
where("starts_at <= ? AND ends_at >= ?", Time.now.utc, Time.now.utc)
}
scope :since, lambda { |hide_time|
where("updated_at > ? OR starts_at > ?", hide_time.utc, hide_time.utc) if hide_time
}
def self.display(hide_time)
active.since(hide_time)
end
Run Code Online (Sandbox Code Playgroud)
但是,无论年份是否与当前年份匹配,我都希望返回结果.只要日和月匹配就好了.这可能吗?
在starts_at与ends_at列datetime格式化.因此,即使我没有在表单中设置一个,它们也会自动包含一年:
<%= f.datetime_select :starts_at, :order => [:day, :month], :discard_year => true %>
Run Code Online (Sandbox Code Playgroud)
任何指针将不胜感激.
我在我的生产环境中有这个:
# The production environment is meant for finished, "live" apps.
# Code is not reloaded between requests
config.cache_classes = true
Run Code Online (Sandbox Code Playgroud)
如何完全清除缓存,以便我部署的更改生效?我已将内容添加到其中一个页面,但它似乎没有出现,因为我将config.cache_classes设置为true.
谢谢,
丹尼
我试图让我的shell提示符显示当前的git分支名称.
我已经阅读了一些教程和博客文章等,据我所知,我正在做正确的事情,但它似乎没有起作用.
我想提示看起来像这样:
dannys-macbook:hillcrest-store [master]$
Run Code Online (Sandbox Code Playgroud)
但目前它看起来像这样:
dannys-macbook:hillcrest-store danny$
Run Code Online (Sandbox Code Playgroud)
我在〜/ .bash_profile中添加了以下内容:
PATH=$PATH:/usr/local/bin; export PATH
COLOR1="\[\e[1;32m\]"
COLOR2='\[\e[1;1m\]'
COLOR3='\[\e[m\]'
GIT_STATUS=$(__git_ps1 " %s")
PROMPT_CHAR="$"
PROMPT="${COLOR1}\u@\h${COLOR3} \w${COLOR2}${GIT_STATUS} ${COLOR2}${PROMPT_CHAR$
PS1="$PROMPT"
export PS1
Run Code Online (Sandbox Code Playgroud)
我不确定我做错了什么,也许我应该以某种方式'重置'提示?
使用以下代码我试图从我们的电话提供商的Web应用程序中删除一个呼叫日志,将信息输入我的Ruby on Rails应用程序.
desc "Import incoming calls"
task :fetch_incomingcalls => :environment do
# Logs into manage.phoneprovider.co.uk and retrieved list of incoming calls.
require 'rubygems'
require 'mechanize'
require 'logger'
# Create a new mechanize object
agent = Mechanize.new { |a| a.log = Logger.new(STDERR) }
# Load the Phone Provider website
page = agent.get("https://manage.phoneprovider.co.uk/login")
# Select the first form
form = agent.page.forms.first
form.username = 'username
form.password = 'password
# Submit the form
page = form.submit form.buttons.first
# Click on link called Call …Run Code Online (Sandbox Code Playgroud)