我无法找出使用多选字段的预定选项集的正确代码.我希望在用户可以选择的下拉列表中列出技能列表.这是我正在使用的代码,它可以作为单个选择字段正常工作,但不能作为多选:
<%= form_for(@user, :html => { :class => "form-stacked" } ) do |f| %>
...
<div class="clearfix"><%= f.select :skill_list, options_for_select(["Asst", "dir", "pres"]),
{
:multiple => true,
:class => "chzn-select",
:style => "width:450px;" } %></div>
...
<% end %>
Run Code Online (Sandbox Code Playgroud)
有人有什么建议吗?最终,我想在其他地方存储多选表单的所有选项,因为会有一堆,但这是我无法弄清楚的第一个挑战..
谢谢.
编辑
我也尝试过:
:html => { :multiple => true, :class => "chzn-select", :style => "width:450px;" } and it doesnt work either
Run Code Online (Sandbox Code Playgroud) 我正在制作一个Rails 3.1应用程序并且有一个工作正常的注册表单,但我似乎已经改变了一些东西来打破它..我正在使用Twitter bootstrap和twitter_bootstrap_form_for gem.我做了一些与表单字段格式相混淆的更改,但更重要的是,当我提交注册表单来创建新用户时,信息显示在URL中,如下所示:
编辑:这是在最新版本的Chrome和Firefox中发生的
以下是表单的代码:
<div class="span7">
<h3 class="center" id="more">Sign Up Now!</h3>
<%= twitter_bootstrap_form_for @user do |user| %>
<%= user.email_field :email, :placeholder => 'me@example.com' %>
<%= user.password_field :password %>
<%= user.password_field :password_confirmation, 'Confirm Password' %>
<%= user.actions do %>
<%= user.submit 'Sign Up' %>
<% end %>
<% end %>
</div>
Run Code Online (Sandbox Code Playgroud)
以下是UsersController的代码:
class UsersController < ApplicationController
def new
@user = User.new
end
def create
@user = User.new(params[:user])
if @user.save
redirect_to about_path, …Run Code Online (Sandbox Code Playgroud) 我有一个工作正常的表单,直到我添加样式标记(我使用twitter bootstrap).该应用程序是Rails 3.1,我在Mac上.这是一个工作正常,没有问题的表单:
<%= form_for @user do |f| %>
<% if @user.errors.any? %>
<div class="alert-message error">
<h2>Form is invalid</h2>
<ul>
<% for message in @user.errors.full_messages %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :email %>
<%= f.text_field :email %>
</div>
<div class="field">
<%= f.label :password %>
<%= f.password_field :password %>
</div>
<div class="field">
<%= f.label :password_confirmation %>
<%= f.password_field :password_confirmation %>
</div>
<div class="actions"><%= f.submit %></div>
<%end %>
Run Code Online (Sandbox Code Playgroud)
然后,当我将标记添加到相同的确切形式时,如下所示:
<form class="form-stacked">
<%= …Run Code Online (Sandbox Code Playgroud) 我只是将我通过Carrierwave上传的图像存储到我的Rails 3.1应用程序中通过雾宝石使用亚马逊s3.在添加图像时,当我单击应用程序中的图像时,URL将提供我的访问密钥和签名.这是一个示例URL(XXX用信息替换了字符串):
https://s3.amazonaws.com/bucketname/uploads/photo/image/2/IMG_4842.jpg?AWSAccessKeyId=XXX&Signature=XXX%3D&Expires=1332093418
Run Code Online (Sandbox Code Playgroud)
这是在开发中发生的(localhost:3000)以及当我使用heroku进行生产时.这是我的上传者:
class ImageUploader < CarrierWave::Uploader::Base
include CarrierWave::RMagick
storage :fog
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
process :convert => :jpg
process :resize_to_limit => [640, 640]
version :thumb do
process :convert => :jpg
process :resize_to_fill => [280, 205]
end
version :avatar do
process :convert => :jpg
process :resize_to_fill => [120, 120]
end
end
Run Code Online (Sandbox Code Playgroud)
我的config/initializers/fog.rb:
CarrierWave.configure do |config|
config.fog_credentials = {
:provider => 'AWS',
:aws_access_key_id => 'XXX',
:aws_secret_access_key => 'XXX',
}
config.fog_directory = 'bucketname'
config.fog_public = false
end
Run Code Online (Sandbox Code Playgroud)
有谁知道如何确保这些信息不可用?
更新:添加视图和控制器代码:来自users/show.html.erb中的部分代码:
<% if …Run Code Online (Sandbox Code Playgroud)