我们在这里要做的是我们有一个id为upgrade_form的表单.我们还有一个名为"paypal_submit"的表单.此表格为空白.'upgrade_form'有结算明细字段(地址,姓名,到期等)
然后,我们只有一个提交按钮,逻辑是,如果选中信用卡单选按钮,它将提交表单,但当您选择paypal时,它将显示一个nyromodal(http://nyromodal.nyrodev.com)灯箱单选按钮,然后单击提交.
好的,我们彻底改变了整个过程.我们首先添加了2个未包含在表单中的隐藏字段.这两个字段包含信用卡和贝宝的网址.当您选择信用卡单选按钮时,您将获得信用卡网址.当您选择paypal单选按钮时,您将获得paypal网址.
当您单击单选按钮时,我们使用以下命令更改表单的操作:
$('#upgrade_form').attr('action', $('#credit-card-target-url').val())
Run Code Online (Sandbox Code Playgroud)
(credit-card-url是隐藏字段)
因此,当我们点击nyromodal灯箱中的链接时,我们只需拨打电话
$('#upgrade_form').submit();
Run Code Online (Sandbox Code Playgroud)
但!它仍然不适用于任何IE浏览器.对此有何帮助?我们正在安装建议的IE脚本调试器,但我很悲观,我们什么都看不到.
编辑
刚刚重试了这个.我们拿出了灯箱和其他代码.我们刚刚开始使用一个带有链接的基本表单,当按下时,调用:
$('#upgrade_form').submit();
Run Code Online (Sandbox Code Playgroud)
仍然无法在IE中工作.那是因为jquery的submit()吗?
好吧,我用google搜索jquery提交不在IE中工作,发现这个:jQuery表单submit()在IE6中不起作用?
但是我检查了我们的代码,我们的"提交"按钮实际上是一个链接,我搜索了生成的文档,发现没有名为submit的输入.单击链接时,我添加了一个警报来检查表单是否存在(由于nodeName null问题),我确实收到了带有html格式的警报.它只是暂停提交.
这是现在的代码:
$('#paypalbutton').click( function() {
alert($('form#upgrade_form').html());
$('form#upgrade_form').submit();
return true;
}
Run Code Online (Sandbox Code Playgroud)
IE在jquery中停止在这一行:
nodeName: function( elem, name ) {
return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase();
},
Run Code Online (Sandbox Code Playgroud) 我已经读过这篇文章,并且通常使用跨度或强项来描述“文本标签”。最佳做法是否正确?看来这也是一种语义方式,但是为什么它仅限于表单元素?
如果我想这样显示信息怎么办:
Name: FOo Bar
Age: 27
Weight: 151 kg
Run Code Online (Sandbox Code Playgroud)
等等?
名称,年龄和体重都可以描述为标签,但由于它们描述的项目不是输入标签,因此在语义上也不正确(至少对于html和w3c而言)。我通常使用
<span class="label"> or <span class="description"> or <span class="person-detail"> etc
Run Code Online (Sandbox Code Playgroud)
但通常还应该有一个标签,用于与输入字段无关的标签。因为这可能有点主观,所以我不介意将其转变为社区Wiki或其他内容
像我的应用程序中的模块的脚本创建命名空间/子模块的东西?就像说我只想将某些任务委托给某个div中的元素,比如说#submodule1.
我可以这样做:
$("#submodule1")
.delegate(".selector1", "click", function() {} )
.delegate(".selector2", "click", function() {} )
Run Code Online (Sandbox Code Playgroud)
如果有可能,它会是否相同:
$("#submodule1").delegate(".selector1", "click", function() {} )
$("#submodule1").delegate(".selector2", "click", function() {} )
Run Code Online (Sandbox Code Playgroud)
编辑
根据TJ Crowder的回答我应该能够做到这一点:
$("#soap-test-test-cases")
.delegate(".soap-test-case", "click", function(){
testfunction();
});
.delegate("legend", "click", function() {
alert("this is a test!");
});
Run Code Online (Sandbox Code Playgroud)
但我得到一个语法错误
这是我的问题的一些背景:
我在Snow Leopard上安装了RVM(使用ruby1.9.2-head安装)我使用的是rails3我使用这个http://github.com/guilleiguaran/ym4r_gm安装了ym4r (并按照教程)
无论如何,我将这些添加到我的控制器:
@map = GMap.new("map_div")
@map.control_init(:large_map => true,:map_type => true)
@map.center_zoom_init([75.5,-42.56],4)
@map.overlay_init(GMarker.new([75.6,-42.467],:title => "Hello", :info_window => "Info! Info!"))
Run Code Online (Sandbox Code Playgroud)
那么这些对我看来:
Test <%= raw(GMap.header) %> <%= raw(@map.to_html) %> <%= raw(@map.div(:width => 600, :height => 400)) %>
Run Code Online (Sandbox Code Playgroud)
实际上我正在使用haml(这有关系吗?)
Test
= raw(GMap.header)
- unless @map.blank?
= raw(@map.to_html)
#map{:style => "width: 600px; height: 400px"}
Run Code Online (Sandbox Code Playgroud)
问题是我不断得到一个
显示/Users/eumir/rails_apps/evo-lux/app/views/layouts/_map.html.haml,其中第11行引发:
不能将Ym4r :: GmPlugin :: Variable转换为String(Ym4r :: GmPlugin :: Variable#to_str给出Ym4r :: GmPlugin :: Variable)
提取的来源(第11行):
9:测试10:= raw(GMap.header)11:= raw(@ map.to_html)12:= raw(@ map.div(:width => 600,:height => 400)) …
我想在我的select标签中的一个选项元素中添加一个类("has-versions"),具体取决于选项.我该如何添加该类?
= select_tag 'project_version_id', "<option value='' disabled>-optional select version-</option>".html_safe + options_from_collection_for_select(current_user.current_project.project_versions, :id, :name, @test_case.script.try(:project_version_id))
Run Code Online (Sandbox Code Playgroud)
我需要它是这样的:
<select name="project_version_id" id="project_version_id">
<option disabled="" value="">-optional select version-</option>
<option selected="selected" value="19">NOOB SAIBOT</option>
<option class="has-versions" value="20">PEW PEW</option>
</select>
Run Code Online (Sandbox Code Playgroud) https://github.com/jmettraux/rufus-scheduler声明:
rufus-scheduler是一个用于安排代码片段(作业)的Ruby gem.它了解在某个时间,在某个时间,每个x时间或仅通过CRON语句运行作业.
rufus-scheduler不是cron/at的替代品,因为它在Ruby内部运行.
那么如果它在红宝石中运行呢?我不能使用ruby中的系统命令访问cron吗?
我试图在heroku中运行我的应用程序但是在尝试注册甚至访问devise的登录页面时出现此错误:
ActionController::RoutingError (uninitialized constant User::UsersController)
Run Code Online (Sandbox Code Playgroud)
这是我在heroku中错过的设计错误或服务器设置吗?
顺便说一下,我在雪松堆栈中运行一个rails3.1应用程序并加载索引页面是好的,但如果我尝试登录或注册,它会打击.
注册表格显示,但是当我提交时,那就是它被吹响的时候.我检查了日志,它对控制器进行了POST,但是GETting结果页面(当我想重定向时)将其炸毁.
有帮助吗?
编辑
这是我的路线:
root :to => "home#index"
devise_for :users
namespace :user do
root :to => "users#welcome"
end
resources :users, :only => :show
Run Code Online (Sandbox Code Playgroud)
一个heroku支持人员也询问了我的路线,但为什么它只在生产中发生?我也不认为路线有任何问题......是吗?
我正在使用Aptana Studio 3和Heroku进行RoR网站项目.当我通过GitHub'提交'后将我的网站推送到Heroku时,我不断收到此错误.已到处搜索,但无法找到我可以遵循的简单解决方案.有什么建议发生了什么以及如何重新开始?谢谢.
User$ git push heroku master
To git@heroku.com:xxxxxx.git
! [rejected] master -> master (non-fast forward)
error: failed to push some refs to 'git@heroku.com:xxxxxx.git'
To prevent you from losing history, non-fast-forward updates were rejected.
Merge the remote changes before pushing again.
See 'non-fast forward' section of 'git push --help' for details.
User$
Run Code Online (Sandbox Code Playgroud)
我在@SkillDrick下面尝试了这个建议,并在最后加上错误:
User$ git merge heroku/master master
usage: git merge [options] <remote>...
or: git merge [options] <msg> HEAD <remote>
-n do not show a diffstat at the end …Run Code Online (Sandbox Code Playgroud) 首先,我喜欢inherited_resources
考虑以下:
class Job < ActiveRecord::Base
has_many :inputs, dependent: :destroy
has_one :output
end
class JobsController < InheritedResources::Base
respond_to :json
end
Run Code Online (Sandbox Code Playgroud)
当我请求jobs/1.json时,我只获取作业对象的JSON.我想要的还有要包含的输入和输出.我通常通过以下方式实现:
job.to_json(include: [:inputs,:output])
我的问题是用IR实现这一目标的最佳方法是什么?现在,我只是覆盖节目,但我想知道是否有更优雅的方式?
谢谢!
我已经解决了一个问题,要求你编写一个方法来确定所提供的数组中的字是字谜,并将字谜分组到输出中的子数组中.
我已经使用看似典型的方式来解决它,通过对单词进行排序并将它们分组为基于排序字符的哈希.
当我最初开始寻找一种方法时,我注意到String#sum存在将每个角色的序数加在一起.
我想尝试一些方法来确定一个基于使用的字谜sum.例如,"汽车"和"疤痕"是字谜,它们sum是425.
给定%w[cars scar for four creams scream racs]输出的预期输出(我已经使用哈希解决方案得到)是:[[cars, scar, racs],[for],[four],[creams,scream]].
看起来好像做了这样的事情:
input.each_with_object(Hash.new []) do |word, hash|
hash[word.sum] += [word]
end
Run Code Online (Sandbox Code Playgroud)
是一种方法,它给你一个哈希,其中键"425"的值是['cars','racs','scar'].我认为我缺少的是将其转换为预期的输出格式.