我正在使用twitter bootstrap.
我正在尝试创建一个带有下拉列表的按钮,该按钮应该在文本后面显示.
按钮和所有内容都已创建,但它出现在下一行,而不是与我的texte在同一行.
这或多或少是代码:
<h1> Some title
<div class="btn-group" xmlns="http://www.w3.org/1999/html">
<button class="btn btn-mini">Edit</button>
<button class="btn btn-mini dropdown-toggle data-toggle="dropdown">
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li> ...my menu's...</li>
</ul>
</div>
</h1>
Run Code Online (Sandbox Code Playgroud)
h1标签没有指定特殊位置.我试图添加一个浮点数:左边的h1标签,但它不起作用,因为有一个明确的:两者都在btn-group的css中.
怎么了?谢谢!
更新:
我还尝试在div中添加一个.pull-right类.这会将它带到正确的行,但它位于页面的右侧.不仅仅是在文本之后.这太遥远了.
我想替换
#{account_nbr}
Run Code Online (Sandbox Code Playgroud)
同
{{account_nbr}}
Run Code Online (Sandbox Code Playgroud)
在发现中,我试过这个:
\#\{()\w+\1\}
Run Code Online (Sandbox Code Playgroud)
在替换中,这:
{{\$1}}
Run Code Online (Sandbox Code Playgroud)
该查找似乎有效,但我无法正确获得反向引用.
怎么了?
我收到有关我的路线文件的错误
SystemStackError (stack level too deep):
actionpack (3.2.8) lib/action_dispatch/middleware/reloader.rb:70
Rendered /Users/duy/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.8/lib/action_dispatch/middleware/templates/rescues/_trace.erb (1.5ms)
Rendered /Users/duy/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.8/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (1.3ms)
Rendered /Users/duy/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.8/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (19.9ms)
Run Code Online (Sandbox Code Playgroud)
我可以隔离有问题的代码,但不明白是什么创建了无限循环:
devise_for :users, :controllers => { :registrations => "registrations", :sessions => "sessions", :omniauth_callbacks => "users/omniauth_callbacks" }
devise_scope :user do
match '/sessions/simulate_user/:id' => 'sessions#simulate_user', :as => :simulate_user_sessions
match '/sessions/leave_simulation_mode' => 'sessions#leave_simulation_mode', :as => :leave_simulation_mode_sessions
get "user_confirmation", :to => "devise/confirmations#create"
get "after_confirmation", :to => "challenges#index"
end
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激!
编辑:
class SessionsController < Devise::SessionsController
def new
@after_sign_in_page = params[:after_sign_in_page] if params[:after_sign_in_page]
super
end
def …Run Code Online (Sandbox Code Playgroud) 我有一个非常标准的Devise登录程序:
视图:
resource_name,:url => session_path(resource_name))do | f | %><%= f.input :password, input_html: {class: "span6"} %>
<% if devise_mapping.rememberable? -%>
<p><%= f.check_box :remember_me %> Remember me</p>
<% end -%>
<input type="hidden" name="after_sign_in_page" value="<%=@after_sign_in_page%>">
<p><%= f.submit "Sign in", class: "btn btn-success" %></p>
Run Code Online (Sandbox Code Playgroud)
我刚创建了一个sessioncontroller来封装电子邮件:
class SessionsController < Devise::SessionsController
def create
params[:user][:email].downcase!
super
logger.debug "Errors: #{resource.errors}"
end
Run Code Online (Sandbox Code Playgroud)
具有良好凭据的登录很顺利.
使用错误的凭据,它会使用此日志重定向到登录页面:
Started POST "/users/sign_in" for 127.0.0.1 at 2013-01-10 09:59:44 +0100
Processing by SessionsController#create as HTML
Parameters: {"utf8"=>"?", "authenticity_token"=>"8eytQkr20JOOOdDvpCWakbmUzNoaHMxK9/BSEVxETik=", "user"=>{"email"=>"nicolas@demoreau.be", "password"=>"[FILTERED]", "remember_me"=>"0"}, "after_sign_in_page"=>"", "commit"=>"Sign in"}
Time zone: …Run Code Online (Sandbox Code Playgroud) 我正在使用paperclip将我的文档上传到Amazon S3.我想在上传新文档时自动创建一个包含项目ID的存储桶.
因此,在我的控制器中,我有这个:
def new
@pmdocument = Pmdocument.new
@pmdocument.projectmilestone_id=params[:projectmilestone_id]
Run Code Online (Sandbox Code Playgroud)
其中projectmilestone_id是我项目的foreign_key(用作我的桶名)
我的模型是这样的:
class Pmdocument < ActiveRecord::Base
belongs_to :projectmilestone
attr_accessible :id, :name, :description, :projectmilestone_id, :pmdoc, :projectmilestone_attributes
attr_protected :pmdoc_content_type, :pmdoc_size
accepts_nested_attributes_for :projectmilestone, :allow_destroy => false
has_attached_file :pmdoc,
:storage => :s3,
:bucket => self.projectmilestone_id.to_s,
:s3_credentials => File.join(Rails.root, 'config', 's3.yml')
Run Code Online (Sandbox Code Playgroud)
当我加载页面时,我收到此错误:未定义的方法`projectmilestone_id'for#
我检查了我的控制器,并在那里正确加载了projectmilestone_id字段.
我试图将铲斗线更改为:bucket => self.name然后错误消失了.
该模型工作正常,因为projectmilestone_id正确存储在db中.
我的猜测是它可以链接到可访问的属性,但它似乎也可以.
怎么了?非常感谢!!!
我真的不明白:
我决定不再改变我的桶了(不管怎样,坏主意因为所有S3的名称都必须是唯一的),而是改变我的路径.
这是代码:
:path => proc { |attachment| "#{attachment.istance.projectname}/:attachment/:id/:basename.:extension" },
Run Code Online (Sandbox Code Playgroud)
未创建具有项目名称的第一个文件夹.如果我按名称,甚至描述(pmdocuments的另一个字段)替换projectname,它可以工作,但不能与projectname一起使用.当然,我检查了projectname是否正确填充.原因在于其他地方.
任何线索?
我在我的一些控制器中创建了一个before_filter,用于将关键字搜索重定向到父控制器
这很简单:
before_filter :redirect_search
def redirect_search
redirect_to controller: "buildings", action: "index", format: "html" if params[:q].present?
end
Run Code Online (Sandbox Code Playgroud)
请注意,keyword_search以"js"格式发送
一切似乎都有效.当我查看服务器时,我可以看到建筑物/索引已运行并且页面已呈现但浏览器中没有任何反应.
在浏览器的控制台中,我看到了这一点
GET http://localhost:3000/buildings.html 200 OK
Run Code Online (Sandbox Code Playgroud)
它在响应正文中有html页面
这意味着buildings/index以html身份运行,但随后以js形式发送到浏览器.
为什么会这样?我该如何解决?
当我编写代码时,我会非常强烈地使用"puts"语句进行调试.它允许我看看服务器中发生了什么.
当代码被调试时,我用来删除这些"puts"语句,我不知道是什么原因.
这是一个好主意还是我应该留下它们来更清楚地说明我的服务器日志?
我正在尝试为我的应用程序开发直接文件上传到S3.我正在关注github教程,所有内容都或多或少都可以,但在尝试进行后期处理时会收到错误消息.
我做了以下事情:
我有一个名为clip.rb的activerecord模型:
class Clip < ActiveRecord::Base
belongs_to :attachable, :polymorphic => true
mount_uploader :avatar, AvatarUploader
attr_accessible :id, :avatar, :name, :clipat_file_name, :attachable_id, :attachable_type, :clipat, :project_id, :user_id, :path, :parent_id,
def save_and_process_avatar(options = {})
if options[:now] or 1==1
self.remote_avatar_url = avatar.direct_fog_url(:with_path => true)
save
else
Resque.enqueue(AvatarProcessor, attributes)
end
end
Run Code Online (Sandbox Code Playgroud)
然后我有一个上传者:avatar_uploader.rb
class AvatarUploader < CarrierWave::Uploader::Base
include CarrierWave::RMagick
include CarrierWaveDirect::Uploader
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}" #I removed /#{model.id} from the template because it creates an empty directory on the server. But If I put it back, the …Run Code Online (Sandbox Code Playgroud) 我有两个具有一对多关系的流星集合:建筑物和空间
在我的建筑页面上,我想显示与建筑物相关的空间.
现在,我这样做了:
buildingsRoute.coffee
BuildingController = RouteController.extend(template: "buildings")
Router.map ->
@route "building",
path: "/buildings/:_id"
waitOn: ->
subs.subscribe "allBuildings"
subs.subscribe "allSpaces"
data: ->
building: Buildings.findOne(@params._id)
spaces: Spaces.find({building_id: @params._id})
Run Code Online (Sandbox Code Playgroud)
building.jade:
template(name="building")
+with building
.building
.page-header.position-relative
h1.inline #{name}
.row
.col-xs-12
+spacesList
template(name="spacesList")
.widgets
.row
h1 Spaces
+each spaces
.col-xs-12.col-sm-6
.widget-box.widget-color-purple
.widget-header
a(href="{{pathFor 'space'}}") #{name}
.widget-body
p Content here
Run Code Online (Sandbox Code Playgroud)
这不起作用,我猜因为spacesList模板的数据上下文与由铁路由器定义的建筑物的数据上下文不同.
我可以用"+ each ../spaces"替换"+ each spaces",但这对我来说似乎不是一个非常通用的解决方案(如果我想在另一个上下文中使用我的spacelist模板怎么办?)
所以我尝试在模板助手中定义数据上下文,如下所示:
Template.spacesList.helpers
spaces: Spaces.find({building_id: @params._id})
Run Code Online (Sandbox Code Playgroud)
但我收到错误消息:
Spaces is not defined.
Run Code Online (Sandbox Code Playgroud)
所以我有点困惑.什么是正确实现嵌套路由的流星方式?
谢谢!
编辑:
Spaces集合的定义:/models/space.coffee
@Spaces = new Meteor.Collection("spaces",
schema: …Run Code Online (Sandbox Code Playgroud) 我有这个HTML文字:
<p> I'm a html text</p>
Run Code Online (Sandbox Code Playgroud)
要在我的网页上显示它,我首先清理它并删除标签:
sanitize(best_practice.milestone.description, :tags=>[])
Run Code Online (Sandbox Code Playgroud)
我然后显示确定, 删除.
但如果我决定截断这样的文字:
sanitize(best_practice.milestone.description, :tags=>[]).truncate(30)
Run Code Online (Sandbox Code Playgroud)
该 是我的网页上再次可见.所有特殊字符实际上都是可见的.
我该怎么做才能避免截断以使这个特殊的字符可见?