我正在创建一个简单的后端应用程序,用户可以通过该应用程序创建/更新/删除数据库行(在本例中为作业列表).
当用户编辑现有列表时,我正在尝试使用该现有行中的数据预填充大部分HTML表单.我已成功使用"value"属性对文本输入执行此操作,并在每个选项标记中使用一些php选择:if([conditionforoption]){echo'selected'}.
我在预填充时遇到问题的输入类型是textarea ...当用户加载页面时,有关如何获取textarea输入中存在的现有数据(长varchar字符串)的任何想法?
我试图远离javascript解决方案,如果可能的话,但我会在必要时使用它.
当我在表单中使用datetime_select时,Rails将正确调整日期时间数据的时区(根据我的config.time_zone设置),并在edit同一表单的视图中呈现正确分区的时间.
但是当我尝试将相同的数据检索到text_field时(对于edit相同形式的相同视图),Rails似乎不会针对时区进行调整.
/events/edit.html.erb(完整文件):
<h1>Edit This Event</h1>
<%= form_for(@event) do |f| %>
<%= render 'fields', :f => f %>
<div class="actions">
<%= f.submit "Update Event" %>
</div>
<% end %>
Run Code Online (Sandbox Code Playgroud)
/events/_fields.html.erb(仅限相关行:)
<div class="field">
<%= f.label :time_start, "Start Time" %><br />
<%= f.text_field :time_start, :class => "datetimefield" %>
</div>
Run Code Online (Sandbox Code Playgroud)
示例:我的区域偏移量为-500.我在表单中输入8:00作为start_time,将13:00 UTC写入数据库,在show页面上呈现8:00 (由于config.time_zone计算了偏移量),但是当我尝试编辑该对象时,表单的start_time的text_field加载为13:00(如果未加改变,则将其存储在数据库中时为18:00).
这是有问题的,因为我正在尝试使用jQuery UI的DatePicker(带有TimePicker附加组件),它依赖于text_field(不适用于a datetime_select).
有没有办法让Rails将config.time_zone偏移量应用于文本字段?
运行Rails 3.0.5,部署到Heroku.
几周前就问过一个非常相似的问题,提前道歉.那里的信息仍然适用,我现在对这个问题有了更好的了解,所以我再问一遍.
我(松散地)遵循RailsCasts教程#182,它使用Paperclip,ImageMagick和Jcrop来允许自定义裁剪上传的图像.
由于我正在使用Amazon S3进行文件存储,因此我不得不重新调整本教程的部分内容以适应.除了我的图像的裁剪版本没有被重新处理(或者重新处理的结果没有被重新上传到S3)这一切似乎完美无缺- 所以在裁剪过程之后,我离开了我最初上传的图像(我为每个图像存储的所有图像尺寸都是如此).
这是我的功能(如特征图像)模型:
class Feature < ActiveRecord::Base
require "#{Rails.root}/lib/paperclip_processors/cropper.rb"
attr_accessible :image_file_name, :image
attr_accessor :crop_x, :crop_y, :crop_w, :crop_h
after_update :reprocess_image, :if => :cropping?
if Rails.env == "production"
S3_CREDENTIALS = { :access_key_id => '<REDACTED>',
:secret_access_key => '<REDACTED>',
:bucket => "<REDACTED>"}
else
S3_CREDENTIALS = { :access_key_id => '<REDACTED>',
:secret_access_key => '<REDACTED>',
:bucket => "<REDACTED>"}
end
has_attached_file :image,
:styles => { :small => "240x135>", :croppable => "960x960>", :display => "960x540>" },
:processors => [:cropper],
:storage => :s3,
:s3_credentials …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个表单,其中写入“其他”选项作为最后一个单选按钮。我尝试过以下变体但没有成功:
<label><input type="radio" name="candidate" value="option1">First Option</label>
<label><input type="radio" name="candidate" value="option2">Second Option</label>
<label><input type="radio" name="candidate" value="other">OTHER</label><input type="text" name="other" value="Write In" />
Run Code Online (Sandbox Code Playgroud)
是否可以有一个带有文本输入的单选按钮,在提交时将其值传递给该单选按钮而不使用 javascript?
我在我的Rails应用程序中指定了config.time_zone,但表单字段中检索到的时间仍然呈现为UTC(这会在更新时产生问题).这不应该转换为指定区域的当地时间吗?
/config/application.rb(仅限相关行):
module ExampleSite
class Application < Rails::Application
config.time_zone = 'Central Time (US & Canada)'
end
end
Run Code Online (Sandbox Code Playgroud)
/events/edit.html.erb(完整文件):
<h1>Edit This Event</h1>
<%= form_for(@event) do |f| %>
<%= render 'fields', :f => f %>
<div class="actions">
<%= f.submit "Update Event" %>
</div>
<% end %>
Run Code Online (Sandbox Code Playgroud)
/events/_fields.html.erb(仅限相关行:)
<div class="field">
<%= f.label :time_start, "Start Time" %><br />
<%= f.text_field :time_start, :class => "datetimefield" %>
</div>
<div class="field">
<%= f.label :time_end, "End Time (if applicable)" %><br />
<%= f.text_field :time_end, :class => "datetimefield" %> …Run Code Online (Sandbox Code Playgroud) forms ×4
datetime ×2
html ×2
amazon-s3 ×1
imagemagick ×1
jcrop ×1
paperclip ×1
radio-button ×1
textinput ×1
timezone ×1