如何使用Mongoid和Rails更新布尔值?

马普克

我已经从先前的发布中将“已发布”的布尔值初步设置为“ false”,但是在此“预览”屏幕上,我希望允许用户通过单击以将此发布发布来将该值更新为“ true” ,但遇到了困难。

查看-Preview.html.erb

<div class="preview clearfix">
        <%= form_for @job, url: '/jobs/publish/' do |f| %>
        <%= f.hidden_field :publish, :value => true %>

        <span><i class="glyphicon glyphicon-exclamation-sign"></i> Review your job post! If approved, submit it, or cancel and try again.</span>

        <%= f.submit "Post Job", :class => 'btn btn-default btn-sm' %>
        <a href="/jobs/new" class="btn" style="margin-top:3px;">Cancel</a>

        <% end %>
</div>

控制器-jobs_controller.rb

class JobsController < ApplicationController
def index
    @jobs = Job.all #where(publish: true)
end

def show
    @job = Job.find(params[:id])
end

def new
end

def preview
    @job = Job.find(params[:id])
end

def create
    job = Job.new
    job.job_title = params[:job][:job_title]
    job.job_location = params[:job][:job_location]
    job.job_description = params[:job][:job_description]
    job.job_responsibilities = params[:job][:job_responsibilities]
    job.job_requirements = params[:job][:job_requirements]
    job.specialties = params[:job][:specialties]
    job.job_level = params[:job][:job_level]
    job.how_to_apply = params[:job][:how_to_apply]
    job.company = params[:job][:company]
    job.company_description = params[:job][:company_description]
    job.company_website = params[:job][:company_website]
    job.avatar = params[:job][:avatar]
    job.agree = params[:job][:agree]
    job.publish = false
    job.save!
    redirect_to '/jobs/preview/' + job.id
end

def update
    job = Job.find(params[:id])  ## Using "find"
    job.publish = true
    job.save!
    redirect_to '/jobs'
end

end

路线

  post 'jobs/publish/' => 'jobs#update'

模型-job.rb

class Job
include Mongoid::Document
mount_uploader :avatar, AvatarUploader

field :job_title, type: String
field :job_location, type: String
field :job_description, type: String
field :job_responsibilities, type: String
field :job_requirements, type: String
field :specialties, type: String
field :job_level, type: String

field :how_to_apply, type: String

field :company, type: String
field :company_description, type: String
field :company_website, type: String

field :agree, type: Boolean

field :publish, type: Boolean

end

日志

由GridfsController#avatar作为JPEG参数处理:{“ id” =>“ 53c985c36d7572b6cd000000”,“ filename” =>“ cuben-rustic”}已完成:127.0.0.1:27017查询数据库= ffos_development集合=作业选择器= {“ _ id” => BSON :: ObjectId('53c985c36d7572b6cd000000')}标志= []限制= 0 skip = 0 batch_size = nil字段= nil运行时:2.8140ms MOPED:127.0.0.1:27017查询数据库= ffos_development集合= fs.files选择器= {“ $ query” => {“ filename” =>“ uploads / job / avatar / 53c985c36d7572b6cd000000 / cuben-rustic.jpg”},“ $ orderby” => {“ uploadDate” =>-1}}标志= []限制= -1跳过= 0 batch_size =无字段=无运行时间:0.4260ms MOPED:127.0.0.1:27017 COMMAND database = ffos_development命令= {:count =>“ fs.chunks”,:query => {“ files_id”=> BSON :: ObjectId('53c985c36d7572b6cd020000')}}运行时:0.3460毫秒MOPED:127.0.0.1:27017查询数据库= ffos_development集合= fs.chunks选择器= {“ $ query” => {“ files_id” => BSON: :ObjectId('53c985c36d7572b6cd020000'),“ n” => {“ $ lt” => 7,“ $ gte” => 0}},“ $ orderby” => {“ n” => 1}}标志= [ ] limit = 0 skip = 0 batch_size = nil字段= nil运行时:8.0450ms MOPED:127.0.0.1:27017 GET_MORE数据库= ffos_development collection = fs.chunks limit = 0 cursor_id = 120760258650运行时:1.8960ms MOPED:127.0.0.1:27017 COMMAND database = ffos_development command = {:count =>“ fs.chunks”,:query => {“ files_id” => BSON :: ObjectId('53c985c36d7572b6cd020000')}}运行时:0.4970ms发送的呈现文本模板(0.3ms)数据(0。6ms)在23ms内完成200 OK(查看:0.6ms)

在2014-07-18 14:30:18 -0700 GridfsController#avatar作为JPEG参数开始为127.0.0.1的GET“ /uploads/job/avatar/53c98e5a6d7572b9c6000000/cuben-rustic.jpg” “ 53c98e5a6d7572b9c6000000”,“文件名” =>“ cuben-rustic”}已完成:127.0.0.1:27017查询数据库= ffos_development集合=工作选择器= {“ _ id” => BSON :: ObjectId('53c98e5a6d7572b9c6000000')}标志= [ ] limit = 0 skip = 0 batch_size = nil字段= nil运行时:0.4900ms MOPED:127.0.0.1:27017 QUERY database = ffos_development collection = fs.files选择器= {“ $ query” => {“ filename” =>“上传/job/avatar/53c98e5a6d7572b9c6000000/cuben-rustic.jpg"},"$orderby"=>{"uploadDate"=>-1}}标志= [] limit = -1 skip = 0 batch_size = nil字段= nil运行时: 0.5350ms工作时间:127.0.0.1:27017 COMMAND database = ffos_development命令= {:: count =>“ fs.chunks”,:query => {“ files_id” => BSON :: ObjectId('53c98e5a6d7572b9c6020000')}}运行时:0.7430ms,MOPED:127.0 .0.1:27017查询数据库= ffos_development集合= fs.chunks选择器= {“ $ query” => {“ files_id” => BSON :: ObjectId('53c98e5a6d7572b9c6020000'),“ n” => {“ $ lt” => 7,“ $ gte” => 0}},“ $ orderby” => {“ n” => 1}}标志= []限制= 0 skip = 0 batch_size = nil字段= nil运行时间:6.5520ms MOPED:127.0 .0.1:27017 GET_MORE数据库= ffos_development集合= fs.chunks限制= 0 cursor_id = 120550877243运行时:1.9530ms操作:127.0.0.1:27017 COMMAND database = ffos_development命令= {:count =>“ fs.chunks”,:query = > {“ files_id” => BSON :: ObjectId('53c98e5a6d7572b9c6020000')}}运行时:0.4840ms渲染的文本模板(0.2ms)发送数据(0.6ms)在19ms内完成200 OK(查看:0.5ms)

马普克

我知道了。我不得不将作业ID从预览页面再次传递给控制器​​。

<%= form_for @job, url: '/jobs/publish/'[email protected] do |f| %>

然后将控制器修改为:

def update
    job = Job.find(params[:id])
    job.publish = true
    job.save!
    redirect_to '/jobs'
end

并将路线更改为“补丁”:

patch '/jobs/publish/:id' => 'jobs#update'

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Swift:如何更新布尔值解析

来自分类Dev

在Rails中使用布尔值显示和隐藏信息-Rails 4

来自分类Dev

如何使用齐射发布布尔值

来自分类Dev

如何使用@StateObject修改布尔值?

来自分类Dev

如何使用“是”或“否”导入布尔值

来自分类Dev

使用从mysql查询收到的布尔值来更新值

来自分类Dev

Rails 4.x如何使用activerecord查询布尔值?

来自分类Dev

如何使用Rails Ransack过滤布尔值属性?

来自分类Dev

Rails 4.x如何使用activerecord查询布尔值?

来自分类Dev

Laravel:如何使用表中的外键更新布尔值

来自分类Dev

布尔值和提交

来自分类Dev

CodePrimitiveExpression和布尔值

来自分类Dev

CodePrimitiveExpression和布尔值

来自分类Dev

布尔值和返回

来自分类Dev

如何根据布尔值在Rails中创建动态CSS?

来自分类Dev

如何在Rails中验证布尔值

来自分类Dev

如何在Oracle表中更新布尔值字段

来自分类Dev

如何在Flask SQLAlchemy中更新布尔值

来自分类Dev

如何在HQL中更新布尔值?

来自分类Dev

布尔值的JSF或PrimeFaces组件/如何通过p:triStateCheckbox使用布尔值

来自分类Dev

使用Powershell更新具有布尔值的xml属性

来自分类Dev

使用原始类型的多维数组更新状态(布尔值)

来自分类Dev

如何使用包含布尔值和子列表的 linq 合并行?

来自分类Dev

布尔值和布尔值的区别?

来自分类Dev

如何根据时间戳和布尔值查询记录?

来自分类Dev

如何比较布尔值?

来自分类Dev

如何打印布尔值

来自分类Dev

如何打印布尔值?

来自分类Dev

如何创建布尔值?