我只是想尝试格式化一个haml生成的(文本)邮件程序模板,而我在阅读多个换行符时遇到了一些困难.例如:我想过
Dear
= @user.name,
Your username is
= @user.username
Your status is
= @user.status
Run Code Online (Sandbox Code Playgroud)
我曾假设会读取多个换行符,但"您的状态为"行会在用户名正下方的行上显示.(是的,那么多次换行是夸大了我想要多少,但仍然)
所以,问题是:haml短信中的换行符......呃,怎么样?
我正在尝试在"问题"模型中更新嵌套的question_output属性.一个问题has_one question_output.如果数据库中没有现有的question_output,一切正常.但是如果记录已经有一个question_output,我在尝试更新时会得到以下结果:
无法删除现有的关联question_output.在将外键设置为nil之后,记录无法保存.
我本以为allow_destroy可以解决这个问题,但是唉 - 没有快乐.不可否认,我之前没有使用过has_one.但如果有人对如何解决这个问题有任何想法,我会很感激.相关代码如下:
表格:
= form_for [@question.project, @question], :as => :question, :url => admin_project_question_path(@question.project, @question) do |f|
= render '/shared/form_errors', :model => @question
= f.fields_for :question_output_attributes do |qo|
.field
= qo.label :question_type
= qo.select :question_type, QuestionOutput::QUESTION_TYPES
.field
= qo.label :client_format
= qo.select :client_format, QuestionOutput::CLIENT_FORMATS
.field
= qo.label :required
= qo.check_box :required
.field
= qo.label :min_input, 'Length'
= qo.text_field :min_length
= qo.text_field :max_length
= f.submit 'Save Question Formatting'
Run Code Online (Sandbox Code Playgroud)
问题模型:
class Question < ActiveRecord::Base
has_one :question_output
accepts_nested_attributes_for …Run Code Online (Sandbox Code Playgroud) 一直爱着铁路,但仍然在努力从命令行运行任务需要多长时间.
我想知道是否可以在不重新加载环境的情况下组合多个rake任务.例如,如果我跑
rails generate rspec:install && rails generate model test_model title:string && rake db:migrate
Run Code Online (Sandbox Code Playgroud)
它将花费10秒加载rails来运行rspec安装,然后另外10秒加载环境以生成模型,然后另一个用于迁移.有没有办法为所有3个命令保持相同的环境?
我在Rails 3.1项目中有以下典型的黄瓜步骤:
...
When I follow "Remove from cart"
Then I should see "Test Product removed from cart"
Run Code Online (Sandbox Code Playgroud)
困难在于"从购物车中移除"按钮是一个ajax:远程调用,它通过以下方式将"测试产品从购物车中删除"返回到#cart_notice元素:
$('#cart_notice').append("<%= @product.name %> removed from cart");
Run Code Online (Sandbox Code Playgroud)
该功能在浏览器中工作正常,但没有在黄瓜中找到"从购物车中删除测试产品"文本.我猜这是因为Cucumber在AJAX返回之前正在搜索文本?
所以,简而言之...如何确保黄瓜在搜索所需内容之前等待ajax返回结果?
我有一个集合,它返回给定范围内每个日期的模型(通过Rails控制器输入).
在我对集合的看法中,我想显示集合中第一个日期的月份......我只是想知道实现这一目标最优雅的方式是什么?
看起来最简单的方法是通过集合访问模型数组,然后在第一个模型中运行,并在该模型中运行所需的方法来检索月份名称.看起来很简单,但我无法弄清楚如何从集合中抓取第一个模型.
或者,我可以通过从rails调用router()来传递所需的值,但这看起来有点难看.
最后,我可以创建一个全新的集合只是为了检索那个值,但是再次 - 似乎过度了.
关于我应该怎么做的任何建议?假设将模型数据反馈回集合并不是太多禁忌,我想我正在问如何做到这一点.
我正试图绕过Ruby,而我正在努力的一件事是缺乏接口/抽象类支持.从谷歌搜索,我不断看到抽象类相关的Ruby问题的响应是"你在用Java思考.Ruby不会那样工作"
那么,没有接口/抽象类,如何在Ruby中工作呢?
例如,在Java中,我可能会创建一个抽象类"book",其子类为"novel","textbook"和"journal".我在"书"中提到了许多常见的功能,但我不希望它可以直接访问 - 一本书必须是小说,教科书或期刊.
在ruby中,我将如何写出这种功能?
如果我在vim中点击ctrl + n,我会在弹出框中找到建议的自动完成选项列表.
这很好......但如果我决定我不想自动完成,我不太清楚要按什么来恢复建议.
例如,假设我输入rea,点击ctrl + n,并弹出自动完成really_long_method_name_damn_this_is_annoying... ...我不想要那样.我无法弄清楚如何将语法还原为rea...我必须手动删除不需要的字符.
我猜这是一个非常简单的事情,但仍然 - 如果有人知道如何,请告诉我.
我随意使用Chrome开发人员工具来调试AJAX和JavaScript.大多数情况下,这意味着控制台检查元素/变量/方法状态,偶尔"网络"选项卡调试通过ajax提供的问题,如果我不能找到JS错误,偶尔会在调试器中断点.
但是任何时候专门的前端开发人员(我的后端)都会在我面前使用相同的工具,他们会使用这些漂亮而抽象的小功能,这些功能总是让我觉得"该死的,为什么我不知道这个" ?
...所以,问题是:对资源的任何建议,提供谷歌铬devtools的彻底和更高级的解释?
我在我的Rails 3 controllers/application.rb中有以下内容(我正在尝试编写规范):
rescue_from CanCan::AccessDenied do |exception|
flash[:alert] = t(:access_denied)
if (current_user) then
redirect_to root_url
else
session[:direct_redirect] = request.url
redirect_to new_user_session_url
end
end
Run Code Online (Sandbox Code Playgroud)
我想写一些规格以确保功能正常.我已将测试放在spec/controller/application_controller_spec.rb中,并且我应该写一些如下的内容:
it "should redirect to the root url" do
controller.stub(:authorize!) { raise CanCan::AccessDenied }
get :index
response.should redirect_to(root_url)
end
Run Code Online (Sandbox Code Playgroud)
问题是get:index line.规范抛出'无路由匹配控制器=>应用程序'错误."足够公平",我想,并尝试路由到不同的控制器.尝试是:
* get :controller => 'purchases', :action => :index
* get purchases_url
* get '/purchases/'
Run Code Online (Sandbox Code Playgroud)
所有这些都被解释为"应用程序"控制器下的一个动作.
那么,除了编写规范之外,我如何路由到rspec中的控制器?
当我检查以前提交的git存储库时,'git log'不再显示在当前检出的提交之后提交的提交.
所以,问题是:如何在当前签出的提交之后获取提交日志?
javascript ×2
actionmailer ×1
autocomplete ×1
backbone.js ×1
cucumber ×1
git ×1
haml ×1
has-one ×1
interface ×1
rake ×1
rspec ×1
ruby ×1
vim ×1