关于我的面包屑解决方案,我有点不安全.每个控制器操作中都定义了名称和链接:
<a href="http://localhost:3000/">Home</a>
<% if defined? @l1_link %>
> <a href="<%= @l1_link%>"><%= @l1_name %></a>
<% if defined? @l2_link %>
> <a href="<%= @l2_link%>"><%= @l2_name %></a>
<% end %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
这样我可以使用:
@l1_link = user_path()
Run Code Online (Sandbox Code Playgroud)
问题:因为我不那么聪明 - 这种系统能否在未来的某个地方引发灾难?这(严重)效率低下吗?
在更新我的宝石并将所有内容投入生产后,我在Heroku上启动sidekiq时遇到了很大的问题.问题是Sidekiq尝试在本地连接和端口上连接到Redis,而不是使用REDISTOGO变量.花了几个小时后,我设法修复它:下面的答案.
我花了最近三天的时间来处理我的"列表" - 表单的集合_选择表单助手,用户可以在其中选择一个类别.
我想将listing.category_id中当前设置的类别作为预选值.
我的视图代码如下所示:
<%= l.collection_select(:category_id, @category, :id, :name, options = {},
html_options = {:size => 10, :selected => @listing.category_id.to_s})%>
Run Code Online (Sandbox Code Playgroud)
我知道这是不正确的,但即使阅读Shiningthrough(http://shiningthrough.co.uk/blog/show/6)的解释,我也无法理解如何继续.
感谢您的支持,
迈克尔
查看:
如上
控制器:
def categories #Step 2
@listing = Listing.find(params[:listing_id])
@seller = Seller.find(@listing.seller_id)
@category = Category.find(:all)
@listing.complete = "step1"
respond_to do |format|
if @listing.update_attributes(params[:listing])
flash[:notice] = 'Step one succesful. Item saved.'
format.html #categories.html.erb
end
end
end
Run Code Online (Sandbox Code Playgroud) 两周前,我设法在 Heroku 上建立了一个工作环境,结合 Capybara、Selenium、Chromedriver 和 Chrome 进行网页抓取。但是,一周前我必须更改某些内容,导致由于找不到 Chrome 二进制文件而导致设置崩溃。
WARN: Selenium::WebDriver::Error::UnknownError: unknown error: cannot find Chrome binary (Driver info: chromedriver=2.40.565383 (76257d1ab79276b2d53ee976b2c3e3b9f335cde7),platform=Linux 4.4.0-1019-aws x86_64)
Run Code Online (Sandbox Code Playgroud)
我在 Heroku-14 Stack 上使用了两个相关的 buildpack
https://github.com/heroku/heroku-buildpack-xvfb-google-chrome
https://github.com/heroku/heroku-buildpack-chromedriver
Run Code Online (Sandbox Code Playgroud)
使用的宝石:
gem 'selenium-webdriver','>=3.6.0'
gem 'chromedriver-helper'
Run Code Online (Sandbox Code Playgroud)
我花了周末的时间试图通过将各种路径直接传递到 capybara.rb 初始值设定项(并通过运行 heroku run bash 来比较这些路径)来使其工作,但无法使其工作。
水豚
require "selenium/webdriver"
chrome_bin = ENV.fetch('GOOGLE_CHROME_SHIM', nil)
chrome_opts = chrome_bin ? { "chromeOptions" => { "binary" => 'app/.apt/usr/bin/google-chrome-stable' } } : {}
puts chrome_opts.to_s
Capybara.register_driver :chrome do |app|
Capybara::Selenium::Driver.new(
app,
browser: :chrome,
desired_capabilities: Selenium::WebDriver::Remote::Capabilities.chrome(chrome_opts)
)
end
Capybara.default_driver = …Run Code Online (Sandbox Code Playgroud) 如果将Rails更新到5.2.1.1以避免活动存储中的潜在错误(信息发布于2018年11月27日左右),则建议在将文件上传到Amazon S3时这会导致错误。
ArgumentError: unknown keyword: content_type
可以通过将gemfile中的rails升级到
gem 'rails', '5.2.2.rc1'
Run Code Online (Sandbox Code Playgroud) 我有问题从facebook获取生日信息到我的应用程序.最大的问题是误解了FB的权限页面:http: //developers.facebook.com/docs/authentication/permissions/
这里的生日被描述为user_birthday.但那不是你怎么能从反应中抓住它.我找到了一个非常简单的解决方案.
我真的不明白如何在文档就绪时正确调用Javascript函数.我的目标是根据浏览器窗口的高度调整div的大小,并从SO上的另一个答案中获取此代码.我究竟做错了什么?
function resizeElementHeight(element) {
var height = 0;
var body = window.document.body;
if (window.innerHeight) {
height = window.innerHeight;
} else if (body.parentElement.clientHeight) {
height = body.parentElement.clientHeight;
} else if (body && body.clientHeight) {
height = body.clientHeight;
}
element.style.height = ((height - element.offsetTop) + "px");
}
$(document).ready(resizeElementHeight($('#global_image')));
Run Code Online (Sandbox Code Playgroud)
我试图调用的元素具有id"global_image",但我得到"不能设置未定义的属性高度",并且我觉得如何为函数提供正确的元素感到迷茫.谢谢你的帮助!
ruby ×3
heroku ×2
amazon-s3 ×1
breadcrumbs ×1
capybara ×1
controller ×1
devise ×1
facebook ×1
javascript ×1
redis ×1
selenium ×1
sidekiq ×1